feat(pocketid): extract Pocket-ID stack from master.yaml

Pocket-ID becomes its own Komodo stack; secrets via ${VAR} (Komodo
stack env). traefik labels kept; drop Unraid template noise.
master.yaml (Traefik + Pocket-ID snapshot dump) removed — traefik
stays Unraid-managed. remote-access/ removed (ApacheGuacamole dead).
This commit is contained in:
Arnout van Westen committed 2026-10-02 16:17:11 +02:00
1 parent abc59b4edd
commit f9bd92d51a
3 files changed
+45 -215

No files matched your search

-151
View File
@@ -1,151 +0,0 @@
version: "3.6"
services:
Pocket-ID:
command:
- "/app/pocket-id"
container_name: "Pocket-ID"
entrypoint:
- "/app/docker/entrypoint.sh"
environment:
- "UPLOAD_PATH=data/uploads"
- "PORT=3876"
- "MAXMIND_LICENSE_KEY=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"
- "METRICS_ENABLED=true"
- "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://192.168.10.144:9411/"
- "BACKEND_PORT=8080"
- "HOST_HOSTNAME=Atlas"
- "HOST_CONTAINERNAME=Pocket-ID"
- "ENCRYPTION_KEY=ErBEvH-VGNqxyjSF3yJL0H$$e&i$$rYlJ"
- "DB_CONNECTION_STRING=data/pocket-id.db"
- "TZ=Europe/Berlin"
- "TRUST_PROXY=true"
- "OTEL_EXPORTER_PROMETHEUS_HOST=0.0.0.0"
- "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://192.168.10.144:3101/otlp"
- "DB_PATH=data/pocket-id.db"
- "PUID=099"
- "PGID=100"
- "HOST_OS=Unraid"
- "APP_URL=https://pass.arnoutvw.nl"
- "TRACING_ENABLED=false"
- "OTEL_METRICS_EXPORTER=prometheus"
- "OTEL_EXPORTER_ZIPKIN_ENDPOINT=http://192.168.10.144:9411/api/v2/spans"
- "OTEL_SERVICE_NAME=pocketid"
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- "APP_ENV=production"
hostname: "cebc7087e1f1"
image: "ghcr.io/pocket-id/pocket-id:latest"
ipc: "private"
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/pocket-id-icon.png"
net.unraid.docker.managed: "dockerman"
net.unraid.docker.webui: "http://[IP]:[PORT:80]/"
org.opencontainers.image.authors: "Pocket ID"
org.opencontainers.image.created: "2026-05-11T16:13:02.381Z"
org.opencontainers.image.description: "A simple and easy-to-use OIDC provider that allows users \ to authenticate with their passkeys to your services."
org.opencontainers.image.documentation: "https://github.com/pocket-id/pocket-id/blob/main/README.md"
org.opencontainers.image.licenses: "BSD-2-Clause"
org.opencontainers.image.ref.name: "pocket-id"
org.opencontainers.image.revision: "9399cba775e5c3eb6b70742092e232b148fd9a0f"
org.opencontainers.image.source: "https://github.com/pocket-id/pocket-id"
org.opencontainers.image.title: "Pocket ID"
org.opencontainers.image.url: "https://github.com/pocket-id/pocket-id"
org.opencontainers.image.version: "next"
traefik.http.routers.pocketid.rule: "Host(`pass.arnoutvw.nl`)"
traefik.http.services.pocketid.loadbalancer.server.port: "3876"
logging:
driver: "json-file"
options:
max-file: "1"
max-size: "50m"
mac_address: "06:0d:9c:6e:78:92"
network_mode: "bridge"
ports:
- "3876:3876/tcp"
- "9464:9464/tcp"
restart: "unless-stopped"
volumes:
- "/mnt/cache/appdata/pocket-id/data:/app/data"
- "/mnt/user/appdata/pocket-id/data:/app/backend/data"
working_dir: "/app"
traefik:
command:
- "traefik"
container_name: "traefik"
entrypoint:
- "/entrypoint.sh"
environment:
- "HOST_CONTAINERNAME=traefik"
- "CF_DNS_API_TOKEN=yt9Q41S9jg92mxpZaWyd6MyOP6Y7OeC5GdUl1tRD"
- "CF_API_EMAIL=4v792wk2b2@privaterelay.appleid.com"
- "CA_TS_FALLBACK_DIR=/etc/traefik"
- "TZ=Europe/Berlin"
- "HOST_OS=Unraid"
- "HOST_HOSTNAME=Atlas"
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
hostname: "e105f8d7bd37"
image: "traefik:latest"
ipc: "private"
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/ibracorp/unraid-templates/master/icons/traefik.png"
net.unraid.docker.managed: "dockerman"
net.unraid.docker.webui: "http://[IP]:[PORT:8080]/"
org.opencontainers.image.description: "A modern reverse-proxy"
org.opencontainers.image.documentation: "https://docs.traefik.io"
org.opencontainers.image.source: "https://github.com/traefik/traefik"
org.opencontainers.image.title: "Traefik"
org.opencontainers.image.url: "https://traefik.io"
org.opencontainers.image.vendor: "Traefik Labs"
org.opencontainers.image.version: "v3.7.0"
traefik.enable: "true"
traefik.http.routers.api.entryPoints: "https"
traefik.http.routers.api.rule: "Host(`traefik.arnoutvw.nl`)"
traefik.http.routers.api.service: "api@internal"
logging:
driver: "json-file"
options:
max-file: "1"
max-size: "50m"
mac_address: "4a:0d:96:16:44:47"
network_mode: "bridge"
ports:
- "443:443/tcp"
- "80:80/tcp"
- "8183:8080/tcp"
restart: "always"
volumes:
- "/mnt/user/appdata/traefik:/etc/traefik"
- "/var/run/docker.sock:/var/run/docker.sock"
working_dir: "/"
+45
View File
@@ -0,0 +1,45 @@
services:
Pocket-ID:
container_name: "Pocket-ID"
command:
- "/app/pocket-id"
entrypoint:
- "/app/docker/entrypoint.sh"
environment:
- "UPLOAD_PATH=data/uploads"
- "PORT=3876"
- "BACKEND_PORT=8080"
- "MAXMIND_LICENSE_KEY=${POCKETID_MAXMIND_LICENSE_KEY}"
- "METRICS_ENABLED=true"
- "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://192.168.10.144:9411/"
- "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://192.168.10.144:3101/otlp"
- "OTEL_EXPORTER_ZIPKIN_ENDPOINT=http://192.168.10.144:9411/api/v2/spans"
- "OTEL_METRICS_EXPORTER=prometheus"
- "OTEL_EXPORTER_PROMETHEUS_HOST=0.0.0.0"
- "OTEL_SERVICE_NAME=pocketid"
- "TRACING_ENABLED=false"
- "ENCRYPTION_KEY=${POCKETID_ENCRYPTION_KEY}"
- "DB_CONNECTION_STRING=data/pocket-id.db"
- "DB_PATH=data/pocket-id.db"
- "TZ=Europe/Berlin"
- "TRUST_PROXY=true"
- "APP_URL=https://pass.arnoutvw.nl"
- "APP_ENV=production"
image: "ghcr.io/pocket-id/pocket-id:latest"
ipc: "private"
labels:
traefik.http.routers.pocketid.rule: "Host(`pass.arnoutvw.nl`)"
traefik.http.services.pocketid.loadbalancer.server.port: "3876"
logging:
driver: "json-file"
options:
max-file: "1"
max-size: "50m"
network_mode: "bridge"
ports:
- "3876:3876/tcp"
- "9464:9464/tcp"
restart: "unless-stopped"
volumes:
- "/mnt/cache/appdata/pocket-id/data:/app/data"
- "/mnt/user/appdata/pocket-id/data:/app/backend/data"
-64
View File
@@ -1,64 +0,0 @@
version: "3.6"
services:
ApacheGuacamole:
command:
- "/etc/firstrun/firstrun.sh"
container_name: "ApacheGuacamole"
environment:
- "OPT_TOTP=N"
- "OPT_HEADER=N"
- "PUID=99"
- "OPT_DUO=N"
- "OPT_SAML=N"
- "TZ=Europe/Berlin"
- "HOST_OS=Unraid"
- "HOST_HOSTNAME=Atlas"
- "OPT_SQLSERVER=N"
- "OPT_CAS=N"
- "OPT_QUICKCONNECT=N"
- "HOST_CONTAINERNAME=ApacheGuacamole"
- "OPT_MYSQL=Y"
- "OPT_MYSQL_EXTENSION=N"
- "OPT_OPENID=N"
- "OPT_LDAP=N"
- "PGID=100"
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- "HOME=/config"
- "LC_ALL=C.UTF-8"
- "LANG=en_US.UTF-8"
- "LANGUAGE=en_US.UTF-8"
- "LD_LIBRARY_PATH=/opt/guacamole/lib"
- "GUACD_LOG_LEVEL=info"
- "LOGBACK_LEVEL=info"
- "GUACAMOLE_HOME=/config/guacamole"
hostname: "eae0c6f416b5"
image: "jasonbean/guacamole"
ipc: "private"
labels:
net.unraid.docker.icon: "https://i.imgur.com/eflpez4.png"
net.unraid.docker.managed: "dockerman"
net.unraid.docker.webui: "http://[IP]:[PORT:8080]/"
version: "1.5.4"
logging:
driver: "json-file"
options:
max-file: "1"
max-size: "50m"
network_mode: "bridge"
ports:
- "7854:8080/tcp"
volumes:
- "/mnt/cache/appdata/ApacheGuacamole:/config"