Files
homeprod/docker/personal/gramps/docker-compose.yml
2025-03-22 14:29:48 +01:00

97 lines
2.6 KiB
YAML

services:
grampsweb:
container_name: grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
restart: always
networks:
- default
- proxy
ports:
- "5000"
environment:
GRAMPSWEB_TREE: "Gramps Web" # will create a new tree if not exists
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
depends_on:
- grampsweb_redis
volumes:
- gramps_users:/app/users
- gramps_index:/app/indexdir
- gramps_thumb_cache:/app/thumbnail_cache
- gramps_cache:/app/cache
- gramps_secret:/app/secret
- gramps_db:/root/.gramps/grampsdb
- gramps_media:/app/media
- gramps_tmp:/tmp
labels:
- "traefik.enable=true"
- "traefik.http.routers.grampsweb.rule=Host(`gramps.local`)"
grampsweb_celery:
container_name: grampsweb_celery
image: ghcr.io/gramps-project/grampsweb:latest
restart: always
environment:
GRAMPSWEB_TREE: "Gramps Web" # will create a new tree if not exists
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
volumes:
- gramps_users:/app/users
- gramps_index:/app/indexdir
- gramps_thumb_cache:/app/thumbnail_cache
- gramps_cache:/app/cache
- gramps_secret:/app/secret
- gramps_db:/root/.gramps/grampsdb
- gramps_media:/app/media
- gramps_tmp:/tmp
depends_on:
- grampsweb_redis
command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2
grampsweb_redis:
image: docker.io/library/redis:7.2.4-alpine
container_name: grampsweb_redis
restart: always
volumes:
gramps_users:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/gramps/users'
gramps_index:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/gramps/index'
gramps_thumb_cache:
gramps_cache:
gramps_secret:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/gramps/secret'
gramps_db:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/gramps/db'
gramps_media:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/gramps/media'
gramps_tmp:
networks:
proxy:
name: proxy
external: true