diff --git a/docker-compose.yaml b/docker-compose.yaml index cf60dd1..1d33573 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -147,7 +147,7 @@ services: # Romain Sacchi # CLIC Django platform clic-web: - image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:754f9f8} + image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:ae59c15} container_name: clic-web restart: always env_file: @@ -159,6 +159,15 @@ services: - CLIC_CACHE_BACKEND=redis - CLIC_REDIS_URL=redis://clic-redis:6379/0 - CLIC_REQUIRE_SHARED_CACHE=1 + - INVENTORY_ARCHIVE_ENVIRONMENT=production + - INVENTORY_ARCHIVE_AUTO_RESTORE=1 + - INVENTORY_ARCHIVE_PUBLISH_MODE=off + - INVENTORY_ARCHIVE_TERMS_REVIEWED=0 + - INVENTORY_ARCHIVE_TOKEN= + - INVENTORY_ARCHIVE_OWNER_ID=86122 + - INVENTORY_ARCHIVE_SERIES_ID=22850223 + - INVENTORY_ARCHIVE_BOOTSTRAP_RECORD_ID= + - INVENTORY_ARCHIVE_BOOTSTRAP_SHA256= volumes: - /mount/webhosting_dmz_write/clic/media:/app/media - /mount/webhosting_dmz_write/clic/impact_factors:/app/data/impact_factors:ro @@ -173,17 +182,17 @@ services: - CMD - python - -c - - "import urllib.request; r = urllib.request.Request('http://127.0.0.1:8000/health/live/', headers={'Host': 'clic.psi.ch', 'X-Forwarded-Proto': 'https'}); urllib.request.urlopen(r, timeout=5)" + - "import urllib.request; r = urllib.request.Request('http://127.0.0.1:8000/health/ready/', headers={'Host': 'clic.psi.ch', 'X-Forwarded-Proto': 'https'}); urllib.request.urlopen(r, timeout=5)" interval: 30s timeout: 5s retries: 5 - start_period: 30s + start_period: 10m networks: - backend - clic_backend clic-package-exports: - image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:754f9f8} + image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:ae59c15} container_name: clic-package-exports restart: always env_file: @@ -195,12 +204,17 @@ services: - CLIC_CACHE_BACKEND=redis - CLIC_REDIS_URL=redis://clic-redis:6379/0 - CLIC_REQUIRE_SHARED_CACHE=1 + - INVENTORY_ARCHIVE_AUTO_RESTORE=0 + - INVENTORY_ARCHIVE_PUBLISH_MODE=off + - INVENTORY_ARCHIVE_TOKEN= volumes: - /mount/webhosting_dmz_write/clic/media:/app/media - /mount/webhosting_dmz_write/clic/impact_factors:/app/data/impact_factors:ro entrypoint: ["python"] command: ["manage.py", "process_package_exports"] depends_on: + clic-web: + condition: service_healthy clic-db: condition: service_healthy clic-redis: @@ -209,7 +223,7 @@ services: - clic_backend clic-brightway-json-exports: - image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:754f9f8} + image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:ae59c15} container_name: clic-brightway-json-exports restart: always env_file: @@ -221,6 +235,9 @@ services: - CLIC_CACHE_BACKEND=redis - CLIC_REDIS_URL=redis://clic-redis:6379/0 - CLIC_REQUIRE_SHARED_CACHE=1 + - INVENTORY_ARCHIVE_AUTO_RESTORE=0 + - INVENTORY_ARCHIVE_PUBLISH_MODE=off + - INVENTORY_ARCHIVE_TOKEN= volumes: - /mount/webhosting_dmz_write/clic/media:/app/media - /mount/webhosting_dmz_write/clic/impact_factors:/app/data/impact_factors:ro @@ -234,6 +251,8 @@ services: "${CLIC_API_EXPORT_POLL_SECONDS:-2}", ] depends_on: + clic-web: + condition: service_healthy clic-db: condition: service_healthy clic-redis: @@ -241,12 +260,54 @@ services: networks: - clic_backend + clic-inventory-archive: + image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:ae59c15} + container_name: clic-inventory-archive + restart: always + env_file: + - /mount/webhosting_dmz_write/clic/clic.env + environment: + - DJANGO_SETTINGS_MODULE=config.settings.production + - POSTGRES_HOST=clic-db + - POSTGRES_PORT=5432 + - CLIC_CACHE_BACKEND=redis + - CLIC_REDIS_URL=redis://clic-redis:6379/0 + - CLIC_REQUIRE_SHARED_CACHE=1 + - IMPACT_SCORES_ENABLED=0 + - INVENTORY_ARCHIVE_ENVIRONMENT=production + - INVENTORY_ARCHIVE_AUTO_RESTORE=0 + - INVENTORY_ARCHIVE_PUBLISH_MODE=scheduled + - INVENTORY_ARCHIVE_TERMS_REVIEWED=1 + - INVENTORY_ARCHIVE_OWNER_ID=86122 + - INVENTORY_ARCHIVE_SERIES_ID=22850223 + - INVENTORY_ARCHIVE_BOOTSTRAP_RECORD_ID= + - INVENTORY_ARCHIVE_BOOTSTRAP_SHA256= + - INVENTORY_ARCHIVE_METADATA_FILE=/app/config/inventory-archive-metadata.json + - INVENTORY_ARCHIVE_REDISTRIBUTION_FILE= + - INVENTORY_ARCHIVE_ALERT_EMAIL=romain.sacchi@psi.ch + entrypoint: ["python"] + command: ["manage.py", "run_inventory_archive_worker"] + depends_on: + clic-web: + condition: service_healthy + healthcheck: + test: ["CMD", "python", "manage.py", "inventory_archive_status", "--alert"] + interval: 5m + timeout: 60s + retries: 1 + start_period: 10m + stop_grace_period: 3m + networks: + - clic_backend + clic-db: image: postgres:16 container_name: clic-db restart: always env_file: - /mount/webhosting_dmz_write/clic/clic.env + environment: + - INVENTORY_ARCHIVE_TOKEN= volumes: - /mount/webhosting_dmz_write/clic/postgres:/var/lib/postgresql/data healthcheck: