services: gramps-db: profiles: ["apps","all","gramps"] image: postgres:13 container_name: gramps-db restart: always environment: POSTGRES_USER: gramps POSTGRES_PASSWORD: grampspassword POSTGRES_DB: gramps volumes: - ${PROJECT_ROOT}/apps/gramps/db:/var/lib/postgresql networks: - gramps healthcheck: test: ["CMD-SHELL", "pg_isready -h db -p 5432 -U gramps -d gramps"] interval: 10s timeout: 5s retries: 12 start_period: 30s grampsweb: profiles: ["apps","all","gramps"] image: ghcr.io/gramps-project/grampsweb:latest container_name: gramps-web depends_on: - gramps-db restart: always # ports: # - "5000:5000" # access via http://localhost:5000 environment: DB_URI: postgresql://gramps:grampspassword@db:5432/gramps GRAMPSWEB_LOGLEVEL: INFO # default admin user created on first run: INITIAL_ADMIN: admin INITIAL_ADMIN_PASSWORD: admin # optional: storage paths inside container GRAMPSWEB_MEDIAPATH: /app/media GRAMPSWEB_TREE: "main" volumes: - ${PROJECT_ROOT}/apps/gramps/data/users:/app/users - ${PROJECT_ROOT}/apps/gramps/data/media:/app/media - ${PROJECT_ROOT}/apps/gramps/data/cache:/app/cache labels: - "traefik.http.routers.gramps.rule=Host(`familytree.lan.ddnsgeek.com`)" - "traefik.enable=true" - "traefik.http.routers.gramps.entrypoints=websecure" - "traefik.http.routers.gramps.tls.certresolver=myresolver" - "io.portainer.accesscontrol.public" - "traefik.http.services.gramps.loadbalancer.server.port=5000" - "traefik.docker.network=core_traefik" networks: - traefik - gramps healthcheck: test: - CMD-SHELL - wget -qO- http://127.0.0.1:5000/ >/dev/null interval: 30s timeout: 5s retries: 6 start_period: 60s networks: # traefik_reverse_proxy: # external: true gramps: # driver: bridge