merge upstream

This commit is contained in:
potier_f committed 2026-09-24 14:58:12 +02:00
commit 5beaca1eaa
4 files changed
+340 -14

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
server {
listen 80;
server_name pocket.psi.ch;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name pocket.psi.ch;
ssl_certificate /etc/nginx/certs/lx-docker-dmz-01.psi.ch.crt;
ssl_certificate_key /etc/nginx/private/lx-docker-dmz-01.psi.ch.key;
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://pocketapp:4200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
+23
View File
@@ -0,0 +1,23 @@
server {
listen 80;
server_name psitrail.psi.ch;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name psitrail.psi.ch;
ssl_certificate /etc/nginx/certs/lx-docker-dmz-01.psi.ch.crt;
ssl_certificate_key /etc/nginx/private/lx-docker-dmz-01.psi.ch.key;
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://psitrail:4200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
+29
View File
@@ -0,0 +1,29 @@
server {
listen 80;
server_name tubulin.xyz;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name tubulin.xyz;
ssl_certificate /etc/nginx/certs/lx-docker-dmz-01.psi.ch.crt;
ssl_certificate_key /etc/nginx/private/lx-docker-dmz-01.psi.ch.key;
location /api/ {
proxy_pass http://backend:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
proxy_pass http://frontend:3000;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_cache_bypass $http_upgrade;
}
}
+265 -14
View File
@@ -57,7 +57,7 @@ services:
# MCDA SRF Huang He <river.huang@psi.ch>
mcda-srf:
image: gitea.psi.ch/images/mcda-srf:1.0.0
image: gitea.psi.ch/images/mcda-srf:1.0.3
container_name: mcda-srf
restart: always
networks:
@@ -147,7 +147,7 @@ services:
# Romain Sacchi <romain.sacchi@psi.ch>
# CLIC Django platform
clic-web:
image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:754f9f8}
image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:a3b90f8@sha256:84c0da77b8aab3a31391e3f713ef3ae701e08824ae4036ffe634105968f581e0}
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:a3b90f8@sha256:84c0da77b8aab3a31391e3f713ef3ae701e08824ae4036ffe634105968f581e0}
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", "--skip-checks"]
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:a3b90f8@sha256:84c0da77b8aab3a31391e3f713ef3ae701e08824ae4036ffe634105968f581e0}
container_name: clic-brightway-json-exports
restart: always
env_file:
@@ -221,12 +235,24 @@ 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_brightway_json_exports", "--skip-checks", "--sleep", "${CLIC_API_EXPORT_POLL_SECONDS:-2}"]
command:
[
"manage.py",
"process_brightway_json_exports",
"--skip-checks",
"--sleep",
"${CLIC_API_EXPORT_POLL_SECONDS:-2}",
]
depends_on:
clic-web:
condition: service_healthy
clic-db:
condition: service_healthy
clic-redis:
@@ -234,12 +260,54 @@ services:
networks:
- clic_backend
clic-inventory-archive:
image: ${CLIC_IMAGE:-gitea.psi.ch/images/clic:a3b90f8@sha256:84c0da77b8aab3a31391e3f713ef3ae701e08824ae4036ffe634105968f581e0}
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:
@@ -262,7 +330,7 @@ services:
# Enea Zeolla <enea.zeolla@psi.ch>
drsa-tiermaker:
image: gitea.psi.ch/images/drsa-tiermaker:0.2.3
image: gitea.psi.ch/images/drsa-tiermaker:0.2.4
container_name: drsa-tiermaker
restart: always
depends_on:
@@ -362,7 +430,7 @@ services:
- backend
scicat-rocrate-qa:
image: gitea.psi.ch/data-catalog-services/scicat-rocrate:2.6.5-rc-ra-ingest.1
image: gitea.psi.ch/data-catalog-services/scicat-rocrate:2.6.10-rc-openbis-doi.1
container_name: scicat-rocrate-qa
restart: always
networks:
@@ -396,13 +464,13 @@ services:
# LEAPS ultrafast frithjof.nolting@psi.ch
felira-web:
image: gitea.psi.ch/leaps/leaps-felira:3.1.18
image: gitea.psi.ch/leaps/leaps-felira:3.1.45
container_name: felira-web
restart: always
# volumes:
# - /mount/webhosting_dmz_write/leaps/web:/var/www/html:rw
depends_on:
- felira-db
- felira-database
networks:
- backend
- leaps_db
@@ -410,9 +478,9 @@ services:
- DB_DATABASE=felira_leaps_ultrafast
- DB_USERNAME=felira_leaps_ultrafast
- DB_PASSWORD=${LEAPS_DB_PW}
felira-db:
felira-database:
image: mariadb:latest
container_name: felira-db
container_name: felira-database
restart: always
environment:
- MARIADB_ROOT_PASSWORD=${LEAPS_DB_PW}
@@ -425,6 +493,188 @@ services:
networks:
- leaps_db
# Noah Pombas Teixeira De Freitas / <noah.pombas@psi.ch>
# PSI Trail - psitrail.psi.ch
# Image: gitea.psi.ch/bb_if_produktiv/psitrail:181
psitrail:
image: gitea.psi.ch/bb_if_produktiv/psitrail:181
container_name: psitrail
restart: always
networks:
- backend
# Noah Pombas Teixeira De Freitas / <noah.pombas@psi.ch>
# Pocket App - pocket.psi.ch
# Image: gitea.psi.ch/bb_if_produktiv/pocketapp:17
pocketapp:
image: gitea.psi.ch/bb_if_produktiv/pocketapp:21
container_name: pocketapp
restart: always
networks:
- backend
# # João Pedro Agostinho de Sousa <joao.agostinho-de-sousa@psi.ch>
# # tubulin.xyz
# neo4j:
# image: neo4j:5
# environment:
# NEO4J_AUTH: neo4j/${NEO4J_PASSWORD}
# NEO4J_server_memory_heap_initial__size: 1G
# NEO4J_server_memory_heap_max__size: 2G
# NEO4J_server_memory_pagecache_size: 1G
# volumes:
# - /mount/webhosting_dmz_write/tubulin/neo4j/data:/data
# - /mount/webhosting_dmz_write/tubulin/neo4j/logs:/logs
# healthcheck:
# test:
# [
# "CMD",
# "cypher-shell",
# "-u",
# "neo4j",
# "-p",
# "${NEO4J_PASSWORD}",
# "RETURN 1",
# ]
# interval: 10s
# timeout: 5s
# retries: 10
# start_period: 30s
# restart: always
# networks:
# - tubulinxyz_backend
# stop_grace_period: 60s
# logging:
# driver: json-file
# options:
# max-size: "50m"
# max-file: "5"
# deploy:
# resources:
# limits:
# memory: 4G
#
# bootstrap:
# image: ghcr.io/rtviii/tubulinxyz:latest
# pull_policy: always
# environment:
# NEO4J_URI: bolt://neo4j:7687
# NEO4J_USER: neo4j
# NEO4J_PASSWORD: ${NEO4J_PASSWORD}
# NEO4J_CURRENTDB: neo4j
# TUBXZ_ROOT: /app
# TUBETL_DATA: /mnt/tubetl_data
# NCBI_TAXA_SQLITE: /app/.etetoolkit/taxa.sqlite
# volumes:
# - /mount/webhosting_dmz_write/tubulin/data:/mnt/tubetl_data
# - /mount/webhosting_dmz_write/tubulin/log:/var/log/tubxz
# depends_on:
# neo4j:
# condition: service_healthy
# entrypoint: ["/bin/sh", "/app/scripts/init_and_seed.sh"]
# restart: always
# networks:
# - tubulinxyz_backend
# logging:
# driver: json-file
# options:
# max-size: "50m"
# max-file: "3"
# deploy:
# resources:
# limits:
# memory: 4G
#
# backend:
# image: ghcr.io/rtviii/tubulinxyz:latest
# pull_policy: always
# environment:
# NEO4J_URI: bolt://neo4j:7687
# NEO4J_USER: neo4j
# NEO4J_PASSWORD: ${NEO4J_PASSWORD}
# NEO4J_CURRENTDB: neo4j
# SECRET_KEY: ${SECRET_KEY}
# TUBXZ_ROOT: /app
# TUBETL_DATA: /mnt/tubetl_data
# NCBI_TAXA_SQLITE: /app/.etetoolkit/taxa.sqlite
# volumes:
# - /mount/webhosting_dmz_write/tubulin/data:/mnt/tubetl_data
# - /mount/webhosting_dmz_write/tubulin/log:/var/log/tubxz:ro
# depends_on:
# neo4j:
# condition: service_healthy
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
# interval: 30s
# timeout: 5s
# retries: 3
# start_period: 15s
# restart: always
# networks:
# - backend
# - tubulinxyz_backend
# stop_grace_period: 30s
# logging:
# driver: json-file
# options:
# max-size: "50m"
# max-file: "5"
# deploy:
# resources:
# limits:
# memory: 2G
#
# scheduler:
# image: ghcr.io/rtviii/tubulinxyz:latest
# pull_policy: always
# environment:
# NEO4J_URI: bolt://neo4j:7687
# NEO4J_USER: neo4j
# NEO4J_PASSWORD: ${NEO4J_PASSWORD}
# NEO4J_CURRENTDB: neo4j
# TUBXZ_ROOT: /app
# TUBETL_DATA: /mnt/tubetl_data
# NCBI_TAXA_SQLITE: /app/.etetoolkit/taxa.sqlite
# volumes:
# - /mount/webhosting_dmz_write/tubulin/data:/mnt/tubetl_data
# - /mount/webhosting_dmz_write/tubulin/log:/var/log/tubxz
# depends_on:
# neo4j:
# condition: service_healthy
# entrypoint: ["/bin/sh", "/app/scripts/start_scheduler.sh"]
# restart: always
# networks:
# - tubulinxyz_backend
# logging:
# driver: json-file
# options:
# max-size: "50m"
# max-file: "5"
# deploy:
# resources:
# limits:
# memory: 4G
#
# frontend:
# image: ghcr.io/rtviii/tubulinxyz-frontend:latest
# pull_policy: always
# depends_on:
# backend:
# condition: service_healthy
# restart: always
# networks:
# - backend
# - tubulinxyz_backend
# logging:
# driver: json-file
# options:
# max-size: "50m"
# max-file: "3"
# deploy:
# resources:
# limits:
# memory: 512M
#
networks:
public:
backend:
@@ -433,3 +683,4 @@ networks:
rhodo_network:
leaps_db:
drsa_tiermaker_backend:
tubulinxyz_backend: