# See versions: https://github.com/gramps-project/gramps-web/pkgs/container/grampsweb services: grampsweb: &grampsweb image: ghcr.io/gramps-project/grampsweb:v24.12.2 restart: unless-stopped ports: - "127.0.0.1:${WEB_SERVER_PORT}:5000" # host:docker environment: GRAMPSWEB_TREE: "Gramps" # will create a new tree if not exists GRAMPSWEB_SECRET_KEY: "${SECRET_KEY}" GRAMPSWEB_BASE_URL: "https://gramps.vakhrushev.me" GRAMPSWEB_REGISTRATION_DISABLED: "true" 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 GRAMPSWEB_EMAIL_HOST: "${POSTBOX_HOST}" GRAMPSWEB_EMAIL_PORT: "${POSTBOX_PORT}" GRAMPSWEB_EMAIL_HOST_USER: "${POSTBOX_USER}" GRAMPSWEB_EMAIL_HOST_PASSWORD: "${POSTBOX_PASS}" GRAMPSWEB_EMAIL_USE_TLS: "false" GRAMPSWEB_DEFAULT_FROM_EMAIL: "gramps@vakhrushev.me" GUNICORN_NUM_WORKERS: 4 # media storage at s3 GRAMPSWEB_MEDIA_BASE_DIR: "s3://av-gramps-media-storage" AWS_ENDPOINT_URL: "https://storage.yandexcloud.net" AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}" AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}" AWS_DEFAULT_REGION: "ru-central1" depends_on: - grampsweb_redis volumes: - ./data/gramps_users:/app/users # persist user database - ./data/gramps_index:/app/indexdir # persist search index - ./data/gramps_thumb_cache:/app/thumbnail_cache # persist thumbnails - ./data/gramps_cache:/app/cache # persist export and report caches - ./data/gramps_secret:/app/secret # persist flask secret - ./data/gramps_db:/root/.gramps/grampsdb # persist Gramps database - ./data/gramps_media:/app/media # persist media files - ./data/gramps_tmp:/tmp grampsweb_celery: <<: *grampsweb # YAML merge key copying the entire grampsweb service config ports: [] container_name: grampsweb_celery restart: unless-stopped 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: unless-stopped