services: grampsweb: container_name: grampsweb image: ghcr.io/gramps-project/grampsweb:latest restart: unless-stopped ports: - 5001:5000 environment: TZ: America/Chicago 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: - /srv/docker/home/grampsweb/users:/app/users - /srv/docker/home/grampsweb/index:/app/indexdir # persist search index - /srv/docker/home/grampsweb/thumb_cache:/app/thumbnail_cache - /srv/docker/home/grampsweb/cache:/app/cache - /srv/docker/home/grampsweb/secret:/app/secret # persist flask secret - /srv/docker/home/grampsweb/db:/root/.gramps/grampsdb - /srv/docker/home/grampsweb/media:/app/media - /srv/docker/home/grampsweb/tmp:/tmp labels: - homepage.group=Apps - homepage.name=GrampsWeb - homepage.icon=gramps.png - homepage.href=${GRAMPS_URL} - homepage.description=Geneaology Tool - dockhand.url=${GRAMPS_URL} - rackpeek.tags=apps networks: - proxy-net grampsweb_celery: # allows for the processing of long-running operations without blocking the main application, improving overall performance and responsiveness image: ghcr.io/gramps-project/grampsweb:latest container_name: grampsweb_celery restart: unless-stopped depends_on: - grampsweb_redis environment: TZ: America/Chicago 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: - /srv/docker/home/grampsweb/users:/app/users - /srv/docker/home/grampsweb/index:/app/indexdir # persist search index - /srv/docker/home/grampsweb/thumb_cache:/app/thumbnail_cache - /srv/docker/home/grampsweb/cache:/app/cache - /srv/docker/home/grampsweb/secret:/app/secret # persist flask secret - /srv/docker/home/grampsweb/db:/root/.gramps/grampsdb - /srv/docker/home/grampsweb/media:/app/media - /srv/docker/home/grampsweb/tmp:/tmp networks: - proxy-net labels: rackpeek.name: GrampsWeb-celery rackpeek.tags: service command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2 grampsweb_redis: image: redis:alpine container_name: grampsweb_redis restart: unless-stopped labels: rackpeek.name: GrampsWeb-Redis rackpeek.tags: service networks: - proxy-net networks: proxy-net: external: true