--- version: '3' services: wallabag: image: wallabag/wallabag:latest restart: unless-stopped depends_on: db: condition: service_healthy environment: - "POSTGRES_USER={{ wallabag.db.user }}" - "POSTGRES_PASSWORD={{ wallabag.db.password }}" - "SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql" - "SYMFONY__ENV__DATABASE_HOST=db" - "SYMFONY__ENV__DATABASE_PORT=5432" - "SYMFONY__ENV__DATABASE_NAME={{ wallabag.db.user }}" - "SYMFONY__ENV__DATABASE_USER={{ wallabag.db.user }}" - "SYMFONY__ENV__DATABASE_PASSWORD={{ wallabag.db.password }}" - "SYMFONY__ENV__DOMAIN_NAME=https://wallabag.tobiasmanske.de" - "SYMFONY__ENV__SECRET={{ wallabag.secret }}" - "SYMFONY__ENV__FOSUSER_REGISTRATION=true" labels: - "traefik.enable=true" - "traefik.docker.network=${COMPOSE_PROJECT_NAME}_default" - "traefik.http.routers.wallabag.rule=Host(`wallabag.tobiasmanske.de`)" - "traefik.http.routers.wallabag.entryPoints=websecure" - "traefik.http.services.wallabag.loadbalancer.server.port=80" networks: - backend - default db: image: postgres:15-alpine restart: unless-stopped environment: - POSTGRES_USER={{ wallabag.db.user }} - POSTGRES_PASSWORD={{ wallabag.db.password }} volumes: - database:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "{{ wallabag.db.user }}"] interval: 10s start_period: 30s networks: - backend volumes: database: networks: backend: internal: true ...