diff --git a/public/svgs/gramps-web.svg b/public/svgs/gramps-web.svg new file mode 100644 index 000000000..b5d79d76d --- /dev/null +++ b/public/svgs/gramps-web.svg @@ -0,0 +1,154 @@ + +image/svg+xml diff --git a/templates/compose/gramps-web.yaml b/templates/compose/gramps-web.yaml new file mode 100644 index 000000000..765a5321d --- /dev/null +++ b/templates/compose/gramps-web.yaml @@ -0,0 +1,63 @@ +# documentation: https://www.grampsweb.org/install_setup/setup/ +# slogan: Open Source Online Genealogy System. +# category: family +# tags: family, genealogy, personal +# logo: svgs/gramps-web.svg +# port: 5000 + +services: + grampsweb: &grampsweb + image: ghcr.io/gramps-project/grampsweb:latest + environment: + GRAMPSWEB_TREE: ${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 + GUNICORN_NUM_WORKERS: ${GUNICORN_NUM_WORKERS:-2} + depends_on: + - grampsweb_redis + volumes: + - gramps_users:/app/users # persist user database + - gramps_index:/app/indexdir # persist search index + - gramps_thumb_cache:/app/thumbnail_cache # persist thumbnails + - gramps_cache:/app/cache # persist export and report caches + - gramps_secret:/app/secret # persist flask secret + - gramps_db:/root/.gramps/grampsdb # persist Gramps database + - gramps_media:/app/media # persist media files + - gramps_tmp:/tmp + healthcheck: + test: wget -O - http://localhost:5000 > /dev/null 2>&1 + interval: 5s + timeout: 10s + retries: 3 + + grampsweb_celery: + <<: *grampsweb + container_name: grampsweb_celery + depends_on: + - grampsweb_redis + command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2 + healthcheck: + test: SECRET_KEY="$(cat secret/secret)" celery -A gramps_webapi.celery status || exit 1 + interval: 5s + timeout: 10s + retries: 3 + + grampsweb_redis: + image: docker.io/library/redis:7.2.4-alpine + container_name: grampsweb_redis + healthcheck: + test: redis-cli ping | grep PONG + interval: 5s + timeout: 10s + retries: 3 + +volumes: + gramps_users: + gramps_index: + gramps_thumb_cache: + gramps_cache: + gramps_secret: + gramps_db: + gramps_media: + gramps_tmp: