-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprintserver-bootstrap.env.example
More file actions
62 lines (53 loc) · 3.01 KB
/
Copy pathprintserver-bootstrap.env.example
File metadata and controls
62 lines (53 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# printserver-bootstrap.env.example
#
# Copy to printserver-bootstrap.env, fill in values, then:
# chmod 600 printserver-bootstrap.env
# ./printserver-bootstrap.sh
#
# Do NOT commit printserver-bootstrap.env to version control.
# This example file is safe to commit.
#
# NOTE: shared.env must also be present and populated — it is loaded
# automatically by printserver-bootstrap.sh before this file.
# ── Required ──────────────────────────────────────────────────────────────────
# Incus remote name — must exist in: incus remote list
# Add with: incus remote add <name> https://<host>:8443 --accept-certificate
# The name must also match your SSH config entry for host-level operations.
INCUS_REMOTE=
# MAC address for the container's eth0 NIC — set this to add a DHCP reservation
# on your router so the container always gets the same IP.
# Generate a locally-administered MAC: python3 -c "import random; m=random.randint(0,0xffffffffffff); m&=~(1<<40); m|=(1<<41); print(':'.join(f'{(m>>i)&0xff:02x}' for i in range(40,-1,-8)))"
MAC_ADDRESS=
# ── Optional — override defaults ──────────────────────────────────────────────
# Incus image to use for the container.
# Default: local:printserver-base — built by printserver-image-build.sh.
# Run that script once before first deployment (or --force to rebuild).
# Falls back to upstream image for testing: INCUS_IMAGE=images:ubuntu/26.04/cloud
# INCUS_IMAGE=local:printserver-base
# Hostname and FQDN for the container
# CONTAINER_HOSTNAME=printserver
# CONTAINER_FQDN=printserver.printstack.local
# Incus storage pool name
# INCUS_STORAGE_POOL=incus-pool
# Parent network interface on the Incus host for MACVLAN
# PARENT_IFACE=eno1
# ── TLS (Let's Encrypt via Namecheap DNS-01) ──────────────────────────────────
# Set ENABLE_LETSENCRYPT=true to get a signed cert via certbot + nginx proxy.
# Uses DNS-01 challenge via the Namecheap XML API — no open inbound ports needed.
# nginx terminates TLS on port 443 and proxies to CUPS on localhost:631.
# Certs are stored in a persistent Incus storage volume (printserver-letsencrypt)
# so they survive nightly container reprovisioning.
#
# Requirements:
# - CONTAINER_FQDN must resolve to the container's IP (LAN or public)
# - CONTAINER_FQDN's domain must be managed by Namecheap
# - LE_EMAIL is required (certbot registration + expiry notices)
# - NAMECHEAP_API_USER: your Namecheap account username
# - NAMECHEAP_API_KEY: Namecheap API key (enable at namecheap.com → Profile → Tools → API)
# - NAMECHEAP_CLIENT_IP: the IP of this machine, whitelisted in the Namecheap API settings
#
# ENABLE_LETSENCRYPT=false
# LE_EMAIL=admin@example.com
# NAMECHEAP_API_USER=myusername
# NAMECHEAP_API_KEY=abc123...
# NAMECHEAP_CLIENT_IP=203.0.113.10