Files
docker/apps/gramps/docker-compose.yml
T

72 lines
2.1 KiB
YAML

services:
gramps-db:
profiles: ["apps","all","gramps"]
image: postgres:13
container_name: gramps-db
restart: always
environment:
POSTGRES_USER: ${GRAMPS_POSTGRES_USER}
POSTGRES_PASSWORD: ${GRAMPS_POSTGRES_PASSWORD}
POSTGRES_DB: ${GRAMPS_POSTGRES_DB}
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: ${GRAMPS_DB_URI}
GRAMPSWEB_LOGLEVEL: ${GRAMPSWEB_LOGLEVEL}
# default admin user created on first run:
INITIAL_ADMIN: ${GRAMPS_INITIAL_ADMIN}
INITIAL_ADMIN_PASSWORD: ${GRAMPS_INITIAL_ADMIN_PASSWORD}
# optional: storage paths inside container
GRAMPSWEB_MEDIAPATH: ${GRAMPSWEB_MEDIAPATH}
GRAMPSWEB_TREE: "${GRAMPSWEB_TREE}"
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