diff --git a/compose.dev.yml b/compose.dev.yml index 3ee1f3c..f5ec85f 100644 --- a/compose.dev.yml +++ b/compose.dev.yml @@ -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: diff --git a/compose.yml b/compose.yml index 7cdec98..bab7ef7 100644 --- a/compose.yml +++ b/compose.yml @@ -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 diff --git a/env-production.template b/env-production.template index ff07c1f..3399dd3 100644 --- a/env-production.template +++ b/env-production.template @@ -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: # =============================================================================