add module

This commit is contained in:
hcornet committed 2026-09-19 21:58:05 +02:00
1 parent e8c32e79f1
commit 851f5f8d03
4 files changed
+149

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
services:
diun:
container_name: diun
image: crazymax/diun:latest
command: serve
restart: always
volumes:
- "./data:/data"
environment:
- TZ=${TZ}
- LOG_LEVEL=info
- LOG_JSON=false
- DIUN_WATCH_WORKERS=20
- "DIUN_WATCH_SCHEDULE=0 18 * * *"
- DIUN_WATCH_JITTER=30s
- DIUN_PROVIDERS_DOCKER=true
- DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=false
- DIUN_PROVIDERS_DOCKER_ENDPOINT=tcp://socket-proxy:2375
- DIUN_NOTIF_MAIL_FROM=${EMAIL_FROM}
- DIUN_NOTIF_MAIL_TO=${EMAIL_TO}
- DIUN_NOTIF_MAIL_HOST=${EMAIL_SERVER}
- DIUN_NOTIF_MAIL_PORT=${EMAIL_SERVER_PORT}
- DIUN_NOTIF_MAIL_USERNAME=${EMAIL_SERVER_USER}
- DIUN_NOTIF_MAIL_PASSWORD=${EMAIL_SERVER_PASSWORD}
networks:
- diun_network
- socket_proxy_network
- watchtower_network
depends_on:
- socket-proxy
labels:
- "com.centurylinklabs.watchtower.enable=true"
security_opt:
- no-new-privileges:true
+43
View File
@@ -0,0 +1,43 @@
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:latest # Use portainer-be if you have a Business Edition license key
command: -H tcp://socket-proxy:2375 # Docker Socket Proxy
restart: unless-stopped
ports:
- 9100:9000
environment:
- TZ=${TZ}
volumes:
- portainer_data:/data
networks:
- homepage_network
- socket_proxy_network
- traefik_network
- watchtower_network
depends_on:
- socket-proxy
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "homepage.group=Maintenance"
- "homepage.name=Portainer"
- "homepage.icon=portainer.png"
- "homepage.href=https://portainer.${ROOT_DOMAIN}/"
- "homepage.description=Container management"
- "homepage.widget.type=portainer"
- "homepage.widget.url=http://portainer:9000"
- "homepage.widget.env=${PORTAINER_ENVIRONMENT}"
- "homepage.widget.key=${PORTAINER_API_KEY}"
- "traefik.enable=true"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.rule=Host(`portainer.${ROOT_DOMAIN}`)"
- "traefik.http.routers.portainer.tls=true"
- "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
- "traefik.http.routers.portainer.middlewares=chain-secure-ip@file"
- "traefik.http.routers.portainer.service=portainer"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
security_opt:
- no-new-privileges:true
volumes:
portainer_data:
View File
Whitespace-only changes.
+72
View File
@@ -0,0 +1,72 @@
secrets:
access_token:
file: access_token
services:
watchtower:
container_name: watchtower
hostname: watchtower
# image: containrrr/watchtower
image: nickfedor/watchtower:1.20.2
restart: unless-stopped
secrets:
- access_token
networks:
- watchtower_network
environment:
- TZ=${TIMEZONE}
# the below will ignore labels set. It is worth checking out labels as that can be a more scalabe solution (automatic)
# - WATCHTOWER_DISABLE_CONTAINERS=traefik crowdsec bouncer-traefik deconz frigate home-assistant homeassistant-db
# the docker host can also be remote by specifying tcp
# - DOCKER_HOST=tcp://hostname:port
# how frequently to check for images (default is 24 hours)
- WATCHTOWER_POLL_INTERVAL=86400
# choose whether to restart the containers after updates
# - WATCHTOWER_INCLUDE_RESTARTING=true
# choose whether to update stopped and exited containers
# - WATCHTOWER_INCLUDE_STOPPED=true
# this will start containers that were stopped or exited if they are updated
# - WATCHTOWER_REVIVE_STOPPED=true
# watchtower can behave like DIUN by only notifying, and not updating
# - WATCHTOWER_MONITOR_ONLY=true
# you can tell watchtower to do updates and restarts one by one - can be helpful
# - WATCHTOWER_ROLLING_RESTART=true
#
- WATCHTOWER_LABEL_ENABLE=true
# Supprime les vieilles images après la mise à jour
- WATCHTOWER_CLEANUP=true
# Supprime les volumes anonymes après la mise à jour
- WATCHTOWER_REMOVE_VOLUMES=true
# Activer le mode de trace avec une diagraphie très verbeuse
# - WATCHTOWER_TRACE=false
# Le niveau de logarithme maximum qui sera écrit à STDERR
- WATCHTOWER_LOG_LEVEL=info # panic, fatal, error, warn, info, debug or trace
# Définit quel format d'enregistrement utiliser pour la sortie de la console.
# - WATCHTOWER_LOG_FORMAT=auto # Auto, LogFmt, Pretty or JSON
#
# - NO_COLOR=false
#
# - WATCHTOWER_DISABLE_CONTAINERS=false
#
# - WATCHTOWER_NO_RESTART=false
- WATCHTOWER_NOTIFICATIONS=gotify
- WATCHTOWER_NOTIFICATION_GOTIFY_URL=https://gotify.${ROOT_DOMAIN}/
- WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN=/run/secrets/access_token
# - WATCHTOWER_NOTIFICATIONS=email
# - [email protected]
# - [email protected]
# - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com
# - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
# - [email protected]
# - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=app_password
# - WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker/config.json:/config.json # - Enable this when using a custom repo
# command: # laissé vide : voir WATCHTOWER_POLL_INTERVAL
# ports:
# - 8087:8080
labels:
- "com.centurylinklabs.watchtower.enable=true"