feat: Add Gramps Web genealogy integration

- Add Gramps Web service to both development and production compose files
- Configure Django-Gramps API integration environment variables
- Update production environment template with Gramps configuration
- Enable genealogy features for foundation family tree management
- Gramps Web will be accessible at /ahnenforschung in production
This commit is contained in:
Stiftung Development
2025-10-15 20:18:20 +02:00
parent b9544048e6
commit c1c6824364
3 changed files with 48 additions and 5 deletions

View File

@@ -47,6 +47,9 @@ services:
- PAPERLESS_DESTINATAERE_TAG_ID=1
- PAPERLESS_LAND_TAG_ID=3
- PAPERLESS_ADMIN_TAG_ID=2
- GRAMPS_URL=http://grampsweb:5000
- GRAMPS_USERNAME=admin@localhost
- GRAMPS_PASSWORD=gramps_dev_password
ports:
- "8081:8000"
volumes:
@@ -80,9 +83,29 @@ services:
- db
- redis
grampsweb:
image: ghcr.io/gramps-project/grampsweb:latest
ports:
- "8090:5000"
environment:
- GRAMPSWEB_SECRET_KEY=dev-grampsweb-secret-key-not-for-production
- GRAMPSWEB_ADMIN_EMAIL=admin@localhost
- GRAMPSWEB_ADMIN_PASSWORD=gramps_dev_password
- GRAMPSWEB_TREE=Stiftung
- GRAMPSWEB_BASE_URL=/ahnenforschung
- GRAMPSWEB_CELERY_CONFIG__broker_url=redis://redis:6379/0
- GRAMPSWEB_CELERY_CONFIG__result_backend=redis://redis:6379/0
- GRAMPSWEB_RATELIMIT_STORAGE_URI=redis://redis:6379/1
- GRAMPSWEB_NEW_DB_BACKEND=sqlite
volumes:
- gramps_data_dev:/app/data
depends_on:
- redis
volumes:
dbdata_dev:
paperless_data_dev:
paperless_media_dev:
paperless_export_dev:
paperless_consume_dev:
gramps_data_dev:

View File

@@ -53,6 +53,10 @@ services:
- PAPERLESS_DESTINATAERE_TAG_ID=${PAPERLESS_DESTINATAERE_TAG_ID}
- PAPERLESS_LAND_TAG_ID=${PAPERLESS_LAND_TAG_ID}
- PAPERLESS_ADMIN_TAG_ID=${PAPERLESS_ADMIN_TAG_ID}
- GRAMPS_URL=${GRAMPS_URL}
- GRAMPS_USERNAME=${GRAMPS_USERNAME}
- GRAMPS_PASSWORD=${GRAMPS_PASSWORD}
- GRAMPS_API_TOKEN=${GRAMPS_API_TOKEN}
ports:
- "8081:8000"
volumes:
@@ -70,6 +74,10 @@ services:
- DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}
- DJANGO_DEBUG=${DJANGO_DEBUG}
- REDIS_URL=${REDIS_URL}
- GRAMPS_URL=${GRAMPS_URL}
- GRAMPS_USERNAME=${GRAMPS_USERNAME}
- GRAMPS_PASSWORD=${GRAMPS_PASSWORD}
- GRAMPS_API_TOKEN=${GRAMPS_API_TOKEN}
depends_on:
- redis
- db
@@ -86,6 +94,10 @@ services:
- DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}
- DJANGO_DEBUG=${DJANGO_DEBUG}
- REDIS_URL=${REDIS_URL}
- GRAMPS_URL=${GRAMPS_URL}
- GRAMPS_USERNAME=${GRAMPS_USERNAME}
- GRAMPS_PASSWORD=${GRAMPS_PASSWORD}
- GRAMPS_API_TOKEN=${GRAMPS_API_TOKEN}
depends_on:
- redis
- db

View File

@@ -1,17 +1,19 @@
# =============================================================================
# PRODUCTION ENVIRONMENT VARIABLES
# PRODUCTION ENVIRONMENT VARIABLES TEMPLATE
# =============================================================================
# This template shows the required environment variables for production.
# ⚠️ THIS IS A TEMPLATE ONLY - DO NOT PUT REAL SECRETS HERE!
#
# SETUP INSTRUCTIONS:
# 1. SSH into production server: ssh user@your-server-ip
# 2. Navigate to stiftung directory: cd /opt/stiftung
# 3. Copy this template: cp env-production.template .env
# 4. Edit with real values: nano .env
# 4. Edit with REAL values: nano .env
# 5. Set secure permissions: chmod 600 .env
#
# IMPORTANT: Once created, this file will NEVER be overwritten by git deployments!
# The .env file is in .gitignore and will be preserved across all future deployments.
# 🔒 SECURITY:
# - The real .env file stays ONLY on the production server
# - This template is safe to commit to Git (no real secrets)
# - Git deployments will NEVER overwrite your real .env file
# =============================================================================
# DATABASE CONFIGURATION
@@ -51,6 +53,12 @@ GRAMPSWEB_SECRET_KEY=your_grampsweb_secret_key_here
GRAMPSWEB_ADMIN_EMAIL=admin@vhtv-stiftung.de
GRAMPSWEB_ADMIN_PASSWORD=your_grampsweb_admin_password_here
# GRAMPS API CONNECTION (for Django integration)
GRAMPS_URL=http://grampsweb:5000
GRAMPS_USERNAME=admin@vhtv-stiftung.de
GRAMPS_PASSWORD=your_grampsweb_admin_password_here
GRAMPS_API_TOKEN=your_gramps_api_token_if_needed
# =============================================================================
# GENERATE SECRET KEYS:
# =============================================================================