services: vaultwarden: image: vaultwarden/server:1.33.2 container_name: vaultwarden restart: always environment: WEBSOCKET_ENABLED: "true" volumes: - ./vw-data:/data caddy: image: caddy:2.9.1-alpine container_name: caddy restart: always ports: - 80:80 # Needed for the ACME HTTP-01 challenge. - 443:443 volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - ./caddy-config:/config - ./caddy-data:/data environment: DOMAIN: ${DOMAIN} EMAIL: ${EMAIL} LOG_FILE: "/data/access.log" env_file: - .env duplicati: image: lscr.io/linuxserver/duplicati:2.1.0 container_name: duplicati restart: unless-stopped environment: PUID: 1000 PGID: 1000 TZ: ${DUPLICATI__TZ} SETTINGS_ENCRYPTION_KEY: ${DUPLICATI__SETTINGS_ENCRYPTION_KEY} DUPLICATI__WEBSERVICE_PASSWORD: ${DUPLICATI__WEBSERVICE_PASSWORD} volumes: - /duplicati/config:/config - /duplicati/backups:/backups - /duplicati/source:/source ports: - 8200:8200 env_file: - .env