Coolify converts ${VAR}:/path bind mounts to named Docker volumes when
the variable is not resolved. Fixed per stack:
- adguard: -> named volumes (data already in Coolify-created volumes)
- authentik: -> named volumes (data already in Coolify-created volumes)
- gitea: -> /opt/gitea/{postgres,data,runner}
- mail-relay: -> /opt/mail-relay/{queue,opendkim,secrets/...}
- media-server: COMMON_PATH -> /opt/media (hardcoded)
- trilium: -> /opt/trilium/data
- wireguard: -> /opt/wg-easy + /lib/modules
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
37 lines
855 B
YAML
37 lines
855 B
YAML
services:
|
|
adguardhome:
|
|
image: ${ADGUARD_IMAGE}
|
|
container_name: adguardhome
|
|
pull_policy: always
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
- adguard-work-path:/opt/adguardhome/work:Z
|
|
- adguard-conf-path:/opt/adguardhome/conf:Z
|
|
- adguard-cert-crt-path:/certs/adguard.crt:ro,Z
|
|
- adguard-cert-key-path:/certs/adguard.key:ro,Z
|
|
|
|
# Solo DNS/DoT expuestos en el host
|
|
ports:
|
|
# - "53:53/tcp"
|
|
# - "53:53/udp"
|
|
- "${ADGUARD_DOT_PORT}:853/tcp" # DoT para Android (DNS privado)
|
|
# - "81:80/tcp"
|
|
|
|
networks:
|
|
proxy:
|
|
ipv4_address: ${ADGUARD_IPV4}
|
|
|
|
labels:
|
|
traefik.http.services.adguard.loadbalancer.server.port: "${ADGUARD_HTTP_PORT}"
|
|
|
|
volumes:
|
|
adguard-work-path:
|
|
adguard-conf-path:
|
|
adguard-cert-crt-path:
|
|
adguard-cert-key-path:
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|