From f8a6df6a6941c15f2fd4c4a58aa17f1a2a3f47ee Mon Sep 17 00:00:00 2001 From: mg Date: Thu, 6 Apr 2023 19:53:27 +0200 Subject: [PATCH] docker-compose: env (#493) Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/homeserver/pulls/493 --- docker-compose/blocky/docker-compose.yml.j2 | 2 +- docker-compose/drone/docker-compose.yml.j2 | 26 ++++++------ docker-compose/homer/docker-compose.yml.j2 | 8 ++-- docker-compose/miniflux/docker-compose.yml.j2 | 42 +++++++++---------- docker-compose/munin/docker-compose.yml.j2 | 38 ++++++++--------- .../navidrome/docker-compose.yml.j2 | 36 ++++++++-------- .../nextcloud/docker-compose.yml.j2 | 14 +++---- docker-compose/traefik/docker-compose.yml.j2 | 2 +- .../unifi-controller/docker-compose.yml.j2 | 4 +- .../watchtower/docker-compose.yml.j2 | 32 +++++++------- 10 files changed, 102 insertions(+), 102 deletions(-) diff --git a/docker-compose/blocky/docker-compose.yml.j2 b/docker-compose/blocky/docker-compose.yml.j2 index 684bf326..53f40c65 100644 --- a/docker-compose/blocky/docker-compose.yml.j2 +++ b/docker-compose/blocky/docker-compose.yml.j2 @@ -8,7 +8,7 @@ services: - "53:53/tcp" - "53:53/udp" environment: - - TZ=Europe/Berlin + TZ: Europe/Berlin volumes: # config file - ./config.yml:/app/config.yml diff --git a/docker-compose/drone/docker-compose.yml.j2 b/docker-compose/drone/docker-compose.yml.j2 index 3623c22c..6ed069d8 100644 --- a/docker-compose/drone/docker-compose.yml.j2 +++ b/docker-compose/drone/docker-compose.yml.j2 @@ -5,14 +5,14 @@ services: volumes: - 'data:/data' environment: - - 'DRONE_GITEA_SERVER=https://git.mgrote.net' - - DRONE_GITEA_CLIENT_ID=f8f0db2a-0089-4e23-9f5a-a5e52f20d765 - - DRONE_GITEA_CLIENT_SECRET={{ lookup('keepass', 'drone_gitea_client_secret', 'password') }} - - DRONE_RPC_SECRET={{ lookup('keepass', 'drone_rpc_secret', 'password') }} - - DRONE_SERVER_HOST=docker10.grote.lan:81 - - DRONE_SERVER_PROTO=http - - DRONE_USER_CREATE=username:mg,admin:true # Gitea-Nutzer "mg" als Admin - #- DRONE_LOGS_DEBUG=true + DRONE_GITEA_SERVER: https://git.mgrote.net + DRONE_GITEA_CLIENT_ID: f8f0db2a-0089-4e23-9f5a-a5e52f20d765 + DRONE_GITEA_CLIENT_SECRET: {{ lookup('keepass', 'drone_gitea_client_secret', 'password') }} + DRONE_RPC_SECRET: {{ lookup('keepass', 'drone_rpc_secret', 'password') }} + DRONE_SERVER_HOST: docker10.grote.lan:81 + DRONE_SERVER_PROTO: http + DRONE_USER_CREATE: username:mg,admin:true # Gitea-Nutzer "mg" als Admin + #DRONE_LOGS_DEBUG: true ports: - '81:80' - '444:443' @@ -29,12 +29,12 @@ services: volumes: - '/var/run/docker.sock:/var/run/docker.sock' environment: - - DRONE_RPC_PROTO=http + DRONE_RPC_PROTO: http # container-name des servers - - DRONE_RPC_HOST=drone-server - - DRONE_RPC_SECRET={{ lookup('keepass', 'drone_rpc_secret', 'password') }} - - DRONE_RUNNER_CAPACITY=4 - - DRONE_RUNNER_NAME=drone-runner + DRONE_RPC_HOST: drone-server + DRONE_RPC_SECRET: {{ lookup('keepass', 'drone_rpc_secret', 'password') }} + DRONE_RUNNER_CAPACITY: 4 + DRONE_RUNNER_NAME: drone-runner ports: - '3000:3000' restart: always diff --git a/docker-compose/homer/docker-compose.yml.j2 b/docker-compose/homer/docker-compose.yml.j2 index e2bd9f49..990849c2 100644 --- a/docker-compose/homer/docker-compose.yml.j2 +++ b/docker-compose/homer/docker-compose.yml.j2 @@ -6,10 +6,10 @@ services: container_name: homer-dashboard restart: always environment: - - TZ=Europe/Berlin - - UID=1000 - - GID=1000 - - INIT_ASSETS=0 + TZ: Europe/Berlin + UID: 1000 + GID: 1000 + INIT_ASSETS: 0 volumes: - ./assets/:/www/assets ports: diff --git a/docker-compose/miniflux/docker-compose.yml.j2 b/docker-compose/miniflux/docker-compose.yml.j2 index e79187a6..574a6644 100644 --- a/docker-compose/miniflux/docker-compose.yml.j2 +++ b/docker-compose/miniflux/docker-compose.yml.j2 @@ -8,16 +8,16 @@ services: depends_on: - db environment: - - DATABASE_URL=postgres://miniflux:{{ lookup('keepass', 'miniflux_postgres_password', 'password') }}@mf-db/miniflux?sslmode=disable - - RUN_MIGRATIONS=1 -# - CREATE_ADMIN=1 -# - ADMIN_USERNAME=adminmf -# - ADMIN_PASSWORD={{ lookup('keepass', 'miniflux_admin_password', 'password') }} - - WORKER_POOL_SIZE=10 - - POLLING_FREQUENCY=10 - - CLEANUP_ARCHIVE_UNREAD_DAYS=-1 - - CLEANUP_ARCHIVE_READ_DAYS=90 - - TZ=Europe/Berlin + DATABASE_URL: postgres://miniflux:{{ lookup('keepass', 'miniflux_postgres_password', 'password') }}@mf-db/miniflux?sslmode=disable + RUN_MIGRATIONS: 1 +# CREATE_ADMIN: 1 +# ADMIN_USERNAME: adminmf +# ADMIN_PASSWORD: {{ lookup('keepass', 'miniflux_admin_password', 'password') }} + WORKER_POOL_SIZE: 10 + POLLING_FREQUENCY: 10 + CLEANUP_ARCHIVE_UNREAD_DAYS: -1 + CLEANUP_ARCHIVE_READ_DAYS: 90 + TZ: Europe/Berlin networks: - intern - traefik @@ -37,9 +37,9 @@ services: image: postgres:13 restart: always environment: - - POSTGRES_USER=miniflux - - POSTGRES_PASSWORD={{ lookup('keepass', 'miniflux_postgres_password', 'password') }} - - TZ=Europe/Berlin + POSTGRES_USER: miniflux + POSTGRES_PASSWORD: {{ lookup('keepass', 'miniflux_postgres_password', 'password') }} + TZ: Europe/Berlin volumes: - db:/var/lib/postgresql/data networks: @@ -53,11 +53,11 @@ services: container_name: mf-filter restart: always environment: - - TZ=Europe/Berlin - - MF_AUTH_TOKEN={{ lookup('keepass', 'miniflux_auth_token', 'password') }} - - MF_API_URL=https://miniflux.mgrote.net/v1 - - MF_SLEEP=600 - #- MF_DEBUG=1 + TZ: Europe/Berlin + MF_AUTH_TOKEN: {{ lookup('keepass', 'miniflux_auth_token', 'password') }} + MF_API_URL: https://miniflux.mgrote.net/v1 + MF_SLEEP: 600 + #MF_DEBUG: 1 image: quotengrote/miniflux-filter:latest volumes: - ./filter.txt:/data/filter.txt @@ -73,7 +73,7 @@ services: image: rssbridge/rss-bridge:latest restart: always environment: - - TZ=Europe/Berlin + TZ: Europe/Berlin volumes: - ./whitelist.txt:/app/whitelist.txt networks: @@ -91,8 +91,8 @@ services: volumes: - changedetection-data:/datastore environment: - - PORT=5000 - - BASE_URL=http://docker10.grote.lan:5000 + PORT: 5000 + BASE_URL: http://docker10.grote.lan:5000 ports: - 5000:5000 restart: always diff --git a/docker-compose/munin/docker-compose.yml.j2 b/docker-compose/munin/docker-compose.yml.j2 index 530bc705..699724cd 100644 --- a/docker-compose/munin/docker-compose.yml.j2 +++ b/docker-compose/munin/docker-compose.yml.j2 @@ -5,25 +5,25 @@ services: image: quotengrote/munin-server restart: always environment: - - MAILCONTACT=michael.grote@posteo.de - - MAILSERVER=smtp.strato.de - - MAILPORT=587 - - MAILUSER=info@mgrote.net - - MAILPASSWORD={{ lookup('keepass', 'postfix_absender_passwort', 'password') }} - - MAILFROM=info@mgrote.net - - MAILNAME=Munin-Prod - - MAILDOMAIN=mgrote.net - - TZ=Europe/Berlin - - DISABLELOCALNODE=yes - - CRONDELAY=5 - - 'NODES= - fileserver3.grote.lan:fileserver3.grote.lan - acng2.grote.lan:acng2.grote.lan - ansible2.grote.lan:ansible2.grote.lan - pve5.grote.lan:pve5.grote.lan - dokuwiki2.grote.lan:dokuwiki2.grote.lan - gitea.grote.lan:gitea.grote.lan - docker10.grote.lan:docker10.grote.lan' + MAILCONTACT: michael.grote@posteo.de + MAILSERVER: smtp.strato.de + MAILPORT: 587 + MAILUSER: info@mgrote.net + MAILPASSWORD: {{ lookup('keepass', 'postfix_absender_passwort', 'password') }} + MAILFROM: info@mgrote.net + MAILNAME: Munin-Prod + MAILDOMAIN: mgrote.net + TZ: Europe/Berlin + DISABLELOCALNODE: yes + CRONDELAY: 5 + NODES: | + fileserver3.grote.lan:fileserver3.grote.lan + acng2.grote.lan:acng2.grote.lan + ansible2.grote.lan:ansible2.grote.lan + pve5.grote.lan:pve5.grote.lan + dokuwiki2.grote.lan:dokuwiki2.grote.lan + gitea.grote.lan:gitea.grote.lan + docker10.grote.lan:docker10.grote.lan # z.B. # computer-test.grote.lan.test:192.68.2.4 # computer.grote.lan:computer.grote.lan diff --git a/docker-compose/navidrome/docker-compose.yml.j2 b/docker-compose/navidrome/docker-compose.yml.j2 index 6981cba6..63ed3d4b 100644 --- a/docker-compose/navidrome/docker-compose.yml.j2 +++ b/docker-compose/navidrome/docker-compose.yml.j2 @@ -6,23 +6,23 @@ services: image: deluan/navidrome:latest restart: always environment: - - ND_LOGLEVEL=info - - ND_SESSIONTIMEOUT=24h - - ND_MUSICFOLDER=/music - - ND_DATAFOLDER=/data - - ND_SCANSCHEDULE=6 * * * * - - ND_TRANSCODINGCACHESIZE=500MB - - ND_IMAGECACHESIZE=100MB - - ND_AUTOIMPORTPLAYLISTS=false - - ND_BASEURL=/mg - - ND_ENABLESTARRATING=false - - ND_ENABLEGRAVATAR=false - - ND_LASTFM_ENABLED=false - - ND_ENABLETRANSCODINGCONFIG=true - - PUID=1000 - - PGID=1000 - - TZ=Europe/Berlin - - ND_ENABLE_EXTERNAL_SERVICES=false + ND_LOGLEVEL: info + ND_SESSIONTIMEOUT: 24h + ND_MUSICFOLDER: /music + ND_DATAFOLDER: /data + ND_SCANSCHEDULE: 6 * * * * + ND_TRANSCODINGCACHESIZE: 500MB + ND_IMAGECACHESIZE: 100MB + ND_AUTOIMPORTPLAYLISTS: false + ND_BASEURL: /mg + ND_ENABLESTARRATING: false + ND_ENABLEGRAVATAR: false + ND_LASTFM_ENABLED: false + ND_ENABLETRANSCODINGCONFIG: true + PUID: 1000 + PGID: 1000 + TZ: Europe/Berlin + ND_ENABLE_EXTERNAL_SERVICES: false volumes: - musik_smb_mg:/music:ro - data:/data @@ -35,7 +35,7 @@ services: - traefik.http.routers.navidrome-mg.tls.certresolver=resolver_letsencrypt - traefik.http.routers.navidrome-mg.entrypoints=entry_https - traefik.http.services.navidrome-mg.loadbalancer.server.port=4533 - + - com.centurylinklabs.watchtower.enable=true ports: - "4533:4533" diff --git a/docker-compose/nextcloud/docker-compose.yml.j2 b/docker-compose/nextcloud/docker-compose.yml.j2 index ea2c3614..3258f753 100644 --- a/docker-compose/nextcloud/docker-compose.yml.j2 +++ b/docker-compose/nextcloud/docker-compose.yml.j2 @@ -11,11 +11,11 @@ services: - /etc/timezone:/etc/timezone:ro - db:/var/lib/mysql environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=nextcloud - - MYSQL_USER=nextcloud - - MYSQL_INITDB_SKIP_TZINFO=1 + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + MYSQL_DATABASE: nextcloud + MYSQL_USER: nextcloud + MYSQL_INITDB_SKIP_TZINFO: 1 networks: - intern labels: @@ -45,8 +45,8 @@ services: - /var/run/docker.sock:/var/run/docker.sock:ro - /etc/localtime:/etc/localtime:ro environment: - - NEXTCLOUD_CONTAINER_NAME=nextcloud-app - - NEXTCLOUD_CRON_MINUTE_INTERVAL=1 + NEXTCLOUD_CONTAINER_NAME: nextcloud-app + NEXTCLOUD_CRON_MINUTE_INTERVAL: 1 labels: - com.centurylinklabs.watchtower.enable=true diff --git a/docker-compose/traefik/docker-compose.yml.j2 b/docker-compose/traefik/docker-compose.yml.j2 index ed5a6190..61512d23 100644 --- a/docker-compose/traefik/docker-compose.yml.j2 +++ b/docker-compose/traefik/docker-compose.yml.j2 @@ -18,7 +18,7 @@ services: - "443:443" # HTTPS - "2222:2222" # SSH environment: - - TZ=Europe/Berlin + TZ: Europe/Berlin labels: - com.centurylinklabs.watchtower.enable=true ######## Networks ######## diff --git a/docker-compose/unifi-controller/docker-compose.yml.j2 b/docker-compose/unifi-controller/docker-compose.yml.j2 index 2d7ebeac..3ef2b88e 100644 --- a/docker-compose/unifi-controller/docker-compose.yml.j2 +++ b/docker-compose/unifi-controller/docker-compose.yml.j2 @@ -5,8 +5,8 @@ services: image: ghcr.io/linuxserver/unifi-controller container_name: unifi-controller environment: - - PUID=1000 - - PGID=1000 + PUID: 1000 + PGID: 1000 volumes: - data:/config ports: diff --git a/docker-compose/watchtower/docker-compose.yml.j2 b/docker-compose/watchtower/docker-compose.yml.j2 index 4e4cac65..b7a63a0a 100644 --- a/docker-compose/watchtower/docker-compose.yml.j2 +++ b/docker-compose/watchtower/docker-compose.yml.j2 @@ -7,22 +7,22 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - - TZ=Europe/Berlin - - WATCHTOWER_CLEANUP=true - - WATCHTOWER_INCLUDE_RESTARTING=true - - WATCHTOWER_INCLUDE_STOPPED=true - - WATCHTOWER_REVIVE_STOPPED=false - - WATCHTOWER_POLL_INTERVAL=86400 # (24 hours) - - WATCHTOWER_LABEL_ENABLE=true - - WATCHTOWER_NOTIFICATIONS=email - - WATCHTOWER_NOTIFICATION_EMAIL_FROM=info@mgrote.net - - WATCHTOWER_NOTIFICATION_EMAIL_TO=michael.grote@posteo.de - - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.strato.de - - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 - - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=info@mgrote.net - - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD={{ lookup('keepass', 'postfix_absender_passwort', 'password') }} - - WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 - - WATCHTOWER_NO_STARTUP_MESSAGE=true + TZ: Europe/Berlin + WATCHTOWER_CLEANUP: true + WATCHTOWER_INCLUDE_RESTARTING: true + WATCHTOWER_INCLUDE_STOPPED: true + WATCHTOWER_REVIVE_STOPPED: false + WATCHTOWER_POLL_INTERVAL: 86400 # (24 hours) + WATCHTOWER_LABEL_ENABLE: true + WATCHTOWER_NOTIFICATIONS: email + WATCHTOWER_NOTIFICATION_EMAIL_FROM: info@mgrote.net + WATCHTOWER_NOTIFICATION_EMAIL_TO: michael.grote@posteo.de + WATCHTOWER_NOTIFICATION_EMAIL_SERVER: smtp.strato.de + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT: 587 + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: info@mgrote.net + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: {{ lookup('keepass', 'postfix_absender_passwort', 'password') }} + WATCHTOWER_NOTIFICATION_EMAIL_DELAY: 2 + WATCHTOWER_NO_STARTUP_MESSAGE: true labels: - com.centurylinklabs.watchtower.enable=true