chore: add env_file: stack.env to all compose services

Portainer git-stack deployments require an explicit env_file reference
in the compose file to load variables from the repo's stack.env.
Adds env_file: [stack.env] before every service-level environment:
block across all 10 stacks.
This commit is contained in:
ginnoir
2026-06-04 22:11:51 -05:00
parent 441e1ee272
commit 1e2970d220
10 changed files with 88 additions and 0 deletions
+6
View File
@@ -12,6 +12,8 @@ services:
restart: unless-stopped restart: unless-stopped
command: server command: server
networks: [authentik, edge] networks: [authentik, edge]
env_file:
- stack.env
environment: environment:
AUTHENTIK_REDIS__HOST: authentik-redis AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db AUTHENTIK_POSTGRESQL__HOST: authentik-db
@@ -34,6 +36,8 @@ services:
restart: unless-stopped restart: unless-stopped
command: worker command: worker
networks: [authentik] networks: [authentik]
env_file:
- stack.env
environment: environment:
AUTHENTIK_REDIS__HOST: authentik-redis AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db AUTHENTIK_POSTGRESQL__HOST: authentik-db
@@ -53,6 +57,8 @@ services:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
networks: [authentik] networks: [authentik]
env_file:
- stack.env
environment: environment:
POSTGRES_USER: ${AUTHENTIK_DB_USER:-authentik} POSTGRES_USER: ${AUTHENTIK_DB_USER:-authentik}
POSTGRES_PASSWORD: ${AUTHENTIK_DB_PASSWORD} POSTGRES_PASSWORD: ${AUTHENTIK_DB_PASSWORD}
+28
View File
@@ -22,6 +22,8 @@ services:
image: gitea/gitea:latest image: gitea/gitea:latest
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
env_file:
- stack.env
environment: environment:
- USER_UID=1000 - USER_UID=1000
- USER_GID=1000 - USER_GID=1000
@@ -54,6 +56,8 @@ services:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
env_file:
- stack.env
environment: environment:
POSTGRES_USER: gitea POSTGRES_USER: gitea
POSTGRES_PASSWORD: ${GITEA_DB_PASSWORD} POSTGRES_PASSWORD: ${GITEA_DB_PASSWORD}
@@ -72,6 +76,8 @@ services:
image: lscr.io/linuxserver/code-server:latest image: lscr.io/linuxserver/code-server:latest
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -101,6 +107,8 @@ services:
image: joxit/docker-registry-ui:latest image: joxit/docker-registry-ui:latest
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
env_file:
- stack.env
environment: environment:
- SINGLE_REGISTRY=true - SINGLE_REGISTRY=true
- REGISTRY_TITLE=Valhalla Registry - REGISTRY_TITLE=Valhalla Registry
@@ -125,6 +133,8 @@ services:
image: lscr.io/linuxserver/bookstack:latest image: lscr.io/linuxserver/bookstack:latest
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -149,6 +159,8 @@ services:
image: lscr.io/linuxserver/mariadb:latest image: lscr.io/linuxserver/mariadb:latest
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -172,6 +184,8 @@ services:
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
command: node web/server.js command: node web/server.js
env_file:
- stack.env
environment: environment:
- NEXT_PUBLIC_API_BASE_URL=https://plane.ginnoir.com - NEXT_PUBLIC_API_BASE_URL=https://plane.ginnoir.com
- HOSTNAME=0.0.0.0 - HOSTNAME=0.0.0.0
@@ -182,6 +196,8 @@ services:
restart: unless-stopped restart: unless-stopped
networks: [dev, edge] networks: [dev, edge]
command: ./bin/docker-entrypoint-api.sh command: ./bin/docker-entrypoint-api.sh
env_file:
- stack.env
environment: environment:
- SECRET_KEY=${PLANE_SECRET_KEY} - SECRET_KEY=${PLANE_SECRET_KEY}
- DEBUG=0 - DEBUG=0
@@ -211,6 +227,8 @@ services:
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
command: ./bin/docker-entrypoint-worker.sh command: ./bin/docker-entrypoint-worker.sh
env_file:
- stack.env
environment: environment:
- SECRET_KEY=${PLANE_SECRET_KEY} - SECRET_KEY=${PLANE_SECRET_KEY}
- DEBUG=0 - DEBUG=0
@@ -237,6 +255,8 @@ services:
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
command: ./bin/docker-entrypoint-beat.sh command: ./bin/docker-entrypoint-beat.sh
env_file:
- stack.env
environment: environment:
- SECRET_KEY=${PLANE_SECRET_KEY} - SECRET_KEY=${PLANE_SECRET_KEY}
- DEBUG=0 - DEBUG=0
@@ -257,6 +277,8 @@ services:
restart: "no" restart: "no"
networks: [dev] networks: [dev]
command: ./bin/docker-entrypoint-migrator.sh command: ./bin/docker-entrypoint-migrator.sh
env_file:
- stack.env
environment: environment:
- SECRET_KEY=${PLANE_SECRET_KEY} - SECRET_KEY=${PLANE_SECRET_KEY}
- DATABASE_URL=postgresql://plane:${PLANE_DB_PASSWORD}@postgres_plane:5432/plane - DATABASE_URL=postgresql://plane:${PLANE_DB_PASSWORD}@postgres_plane:5432/plane
@@ -281,6 +303,8 @@ services:
/usr/bin/mc mb plane_minio/uploads --ignore-existing; /usr/bin/mc mb plane_minio/uploads --ignore-existing;
exit 0; exit 0;
" "
env_file:
- stack.env
environment: environment:
- MINIO_USER=${PLANE_MINIO_USER} - MINIO_USER=${PLANE_MINIO_USER}
- MINIO_PASSWORD=${PLANE_MINIO_PASSWORD} - MINIO_PASSWORD=${PLANE_MINIO_PASSWORD}
@@ -290,6 +314,8 @@ services:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
env_file:
- stack.env
environment: environment:
POSTGRES_USER: plane POSTGRES_USER: plane
POSTGRES_PASSWORD: ${PLANE_DB_PASSWORD} POSTGRES_PASSWORD: ${PLANE_DB_PASSWORD}
@@ -322,6 +348,8 @@ services:
restart: unless-stopped restart: unless-stopped
networks: [dev] networks: [dev]
command: server /data --console-address ":9001" command: server /data --console-address ":9001"
env_file:
- stack.env
environment: environment:
MINIO_ROOT_USER: ${PLANE_MINIO_USER} MINIO_ROOT_USER: ${PLANE_MINIO_USER}
MINIO_ROOT_PASSWORD: ${PLANE_MINIO_PASSWORD} MINIO_ROOT_PASSWORD: ${PLANE_MINIO_PASSWORD}
+6
View File
@@ -14,6 +14,8 @@ services:
pull_policy: ${FAMAPP_PULL_POLICY:-always} pull_policy: ${FAMAPP_PULL_POLICY:-always}
restart: unless-stopped restart: unless-stopped
networks: [famapp, edge] networks: [famapp, edge]
env_file:
- stack.env
environment: environment:
NODE_ENV: production NODE_ENV: production
AUTH_URL: ${AUTH_URL} AUTH_URL: ${AUTH_URL}
@@ -48,6 +50,8 @@ services:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
networks: [famapp] networks: [famapp]
env_file:
- stack.env
environment: environment:
POSTGRES_USER: ${FAMAPP_DB_USER} POSTGRES_USER: ${FAMAPP_DB_USER}
POSTGRES_PASSWORD: ${FAMAPP_DB_PASSWORD} POSTGRES_PASSWORD: ${FAMAPP_DB_PASSWORD}
@@ -66,6 +70,8 @@ services:
command: server /data --console-address ":9003" command: server /data --console-address ":9003"
restart: unless-stopped restart: unless-stopped
networks: [famapp] networks: [famapp]
env_file:
- stack.env
environment: environment:
MINIO_ROOT_USER: ${famapp_MINIO_ROOT_USER} MINIO_ROOT_USER: ${famapp_MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${famapp_MINIO_ROOT_PASSWORD} MINIO_ROOT_PASSWORD: ${famapp_MINIO_ROOT_PASSWORD}
+4
View File
@@ -14,6 +14,8 @@ services:
- /storage1/foundry:/data - /storage1/foundry:/data
- /storage1/foundry/updatemain.bash:/home/foundry/updatemain.bash - /storage1/foundry/updatemain.bash:/home/foundry/updatemain.bash
- /storage1/Books/Tabletop:/data/Data/storage - /storage1/Books/Tabletop:/data/Data/storage
env_file:
- stack.env
environment: environment:
- FOUNDRY_USERNAME=${FOUNDRY_USERNAME} - FOUNDRY_USERNAME=${FOUNDRY_USERNAME}
- FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD} - FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD}
@@ -40,6 +42,8 @@ services:
- /storage1/foundry2:/data - /storage1/foundry2:/data
- /storage1/foundry/updatemain.bash:/home/foundry/updatemain.bash - /storage1/foundry/updatemain.bash:/home/foundry/updatemain.bash
- /storage1/Books/Tabletop:/data/Data/storage - /storage1/Books/Tabletop:/data/Data/storage
env_file:
- stack.env
environment: environment:
- FOUNDRY_USERNAME=${FOUNDRY_USERNAME} - FOUNDRY_USERNAME=${FOUNDRY_USERNAME}
- FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD} - FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD}
+22
View File
@@ -9,6 +9,8 @@ services:
image: lscr.io/linuxserver/deluge:latest image: lscr.io/linuxserver/deluge:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -24,6 +26,8 @@ services:
image: lscr.io/linuxserver/nzbget:latest image: lscr.io/linuxserver/nzbget:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -39,6 +43,8 @@ services:
image: lscr.io/linuxserver/sonarr:latest image: lscr.io/linuxserver/sonarr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -57,6 +63,8 @@ services:
image: lscr.io/linuxserver/radarr:latest image: lscr.io/linuxserver/radarr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -74,6 +82,8 @@ services:
image: lscr.io/linuxserver/bazarr:latest image: lscr.io/linuxserver/bazarr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -92,6 +102,8 @@ services:
image: ghcr.io/hotio/prowlarr:latest image: ghcr.io/hotio/prowlarr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -107,6 +119,8 @@ services:
image: sctx/overseerr:latest image: sctx/overseerr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -122,6 +136,8 @@ services:
container_name: tautulli container_name: tautulli
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
@@ -137,6 +153,8 @@ services:
container_name: qbittorrent container_name: qbittorrent
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -156,6 +174,8 @@ services:
image: ghcr.io/hotio/whisparr:latest image: ghcr.io/hotio/whisparr:latest
restart: unless-stopped restart: unless-stopped
networks: [media, edge] networks: [media, edge]
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -178,6 +198,8 @@ services:
options: options:
max-file: "10" max-file: "10"
max-size: "2m" max-size: "2m"
env_file:
- stack.env
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
+2
View File
@@ -19,6 +19,8 @@ services:
image: ghcr.io/homarr-labs/homarr:latest image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped restart: unless-stopped
networks: [edge] networks: [edge]
env_file:
- stack.env
environment: environment:
- SECRET_ENCRYPTION_KEY=${HOMARR_SECRET_ENCRYPTION_KEY} - SECRET_ENCRYPTION_KEY=${HOMARR_SECRET_ENCRYPTION_KEY}
ports: ports:
+6
View File
@@ -13,6 +13,8 @@ services:
- serve - serve
restart: unless-stopped restart: unless-stopped
networks: [edge] networks: [edge]
env_file:
- stack.env
environment: environment:
- TZ=${TZ} - TZ=${TZ}
- NTFY_DEFAULT_HOST=https://ntfy.ginnoir.com - NTFY_DEFAULT_HOST=https://ntfy.ginnoir.com
@@ -55,6 +57,8 @@ services:
- /config/freshrss/extensions:/var/www/FreshRSS/extensions - /config/freshrss/extensions:/var/www/FreshRSS/extensions
ports: ports:
- "9999:80" - "9999:80"
env_file:
- stack.env
environment: environment:
- CRON_MIN=3,33 - CRON_MIN=3,33
- TRUSTED_PROXY=172.16.0.1/12 192.168.0.1/16 - TRUSTED_PROXY=172.16.0.1/12 192.168.0.1/16
@@ -66,6 +70,8 @@ services:
image: ghcr.io/verifiedjoseph/vigilant:latest image: ghcr.io/verifiedjoseph/vigilant:latest
restart: unless-stopped restart: unless-stopped
networks: [edge] networks: [edge]
env_file:
- stack.env
environment: environment:
- VIGILANT_NOTIFICATION_SERVICE=ntfy - VIGILANT_NOTIFICATION_SERVICE=ntfy
- VIGILANT_NOTIFICATION_NTFY_URL=https://ntfy.ginnoir.com/ - VIGILANT_NOTIFICATION_NTFY_URL=https://ntfy.ginnoir.com/
+4
View File
@@ -16,6 +16,8 @@ services:
condition: service_healthy condition: service_healthy
redis: redis:
condition: service_healthy condition: service_healthy
env_file:
- stack.env
environment: environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_TYPE=mysql
@@ -44,6 +46,8 @@ services:
container_name: owncloud_mariadb container_name: owncloud_mariadb
restart: unless-stopped restart: unless-stopped
networks: [owncloud] networks: [owncloud]
env_file:
- stack.env
environment: environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${OWNCLOUD_DB_USER} - MYSQL_USER=${OWNCLOUD_DB_USER}
+2
View File
@@ -22,6 +22,8 @@ services:
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
env_file:
- stack.env
environment: environment:
- CF_API_TOKEN=${CF_API_TOKEN} - CF_API_TOKEN=${CF_API_TOKEN}
volumes: volumes:
+8
View File
@@ -14,6 +14,8 @@ services:
networks: [resume] networks: [resume]
volumes: volumes:
- /config/resume/postgres:/var/lib/postgresql/data - /config/resume/postgres:/var/lib/postgresql/data
env_file:
- stack.env
environment: environment:
- POSTGRES_DB=postgres - POSTGRES_DB=postgres
- POSTGRES_USER=postgres - POSTGRES_USER=postgres
@@ -35,6 +37,8 @@ services:
- "9004:9001" - "9004:9001"
volumes: volumes:
- /storage1/labdata/resume/minio:/data - /storage1/labdata/resume/minio:/data
env_file:
- stack.env
environment: environment:
- MINIO_ROOT_USER=${MINIO_ROOT_USER} - MINIO_ROOT_USER=${MINIO_ROOT_USER}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
@@ -50,6 +54,8 @@ services:
image: ghcr.io/browserless/chromium:latest image: ghcr.io/browserless/chromium:latest
restart: unless-stopped restart: unless-stopped
networks: [resume] networks: [resume]
env_file:
- stack.env
environment: environment:
- TIMEOUT=10000 - TIMEOUT=10000
- CONCURRENT=10 - CONCURRENT=10
@@ -71,6 +77,8 @@ services:
condition: service_healthy condition: service_healthy
chrome: chrome:
condition: service_started condition: service_started
env_file:
- stack.env
environment: environment:
- PORT=3000 - PORT=3000
- NODE_ENV=production - NODE_ENV=production