From 3890c3727932878c433736caa28dda60f6afaec7 Mon Sep 17 00:00:00 2001 From: Cian Hughes Date: Wed, 1 Jul 2026 10:54:29 +0100 Subject: [PATCH] Fixed deployment persistence issues --- i-form-data-repository/docker-compose.full.yml | 11 +++++++++++ i-form-data-repository/docker-services.yml | 1 + .../docker/nginx/conf.d/default.conf | 17 +++++++---------- justfile | 4 ++-- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/i-form-data-repository/docker-compose.full.yml b/i-form-data-repository/docker-compose.full.yml index fd379a3..777ffcc 100644 --- a/i-form-data-repository/docker-compose.full.yml +++ b/i-form-data-repository/docker-compose.full.yml @@ -23,18 +23,26 @@ services: extends: file: docker-services.yml service: cache + volumes: + - cache_data:/data db: extends: file: docker-services.yml service: db + volumes: + - data:/var/lib/postgresql/data mq: extends: file: docker-services.yml service: mq + volumes: + - mq_data:/var/lib/rabbitmq search: extends: file: docker-services.yml service: search + volumes: + - search_data:/usr/share/opensearch/data opensearch-dashboards: extends: file: docker-services.yml @@ -115,3 +123,6 @@ services: volumes: static_data: data: + search_data: + mq_data: + cache_data: diff --git a/i-form-data-repository/docker-services.yml b/i-form-data-repository/docker-services.yml index f08fdd7..161707e 100644 --- a/i-form-data-repository/docker-services.yml +++ b/i-form-data-repository/docker-services.yml @@ -70,6 +70,7 @@ services: - "DISABLE_INSTALL_DEMO_CONFIG=true" - "DISABLE_SECURITY_PLUGIN=true" - "discovery.type=single-node" + - "cluster.routing.allocation.disk.threshold_enabled=false" ulimits: memlock: soft: -1 diff --git a/i-form-data-repository/docker/nginx/conf.d/default.conf b/i-form-data-repository/docker/nginx/conf.d/default.conf index dd525af..ceb36ed 100644 --- a/i-form-data-repository/docker/nginx/conf.d/default.conf +++ b/i-form-data-repository/docker/nginx/conf.d/default.conf @@ -4,13 +4,6 @@ # Nginx proxies all requests on port 443 to upstream the application server # which is expected to be running on port 5000/5001. -upstream ui_server { - server web-ui:5000 fail_timeout=0; -} -upstream api_server { - server web-api:5000 fail_timeout=0; -} - # HTTP server server { # Redirects all requests to https. - this is in addition to HAProxy which @@ -27,6 +20,7 @@ server { listen 443 default_server ssl http2; # IPv4 listen [::]:443 default_server ssl http2; # IPv6 server_name _; + resolver 10.89.1.1 valid=10s ipv6=off; charset utf-8; keepalive_timeout 5; @@ -61,7 +55,8 @@ server { # Proxying to the application server ## UI server location / { - uwsgi_pass ui_server; + set $ui_upstream web-ui:5000; + uwsgi_pass web-ui:5053; include uwsgi_params; uwsgi_buffering off; uwsgi_request_buffering off; @@ -80,7 +75,8 @@ server { } ## Most API location /api { - uwsgi_pass api_server; + set $api_upstream web-api:5000; + uwsgi_pass web-api:5000; include uwsgi_params; uwsgi_buffering off; uwsgi_request_buffering off; @@ -103,7 +99,8 @@ server { # request bodies. This includes part content uploads of multipart file uploads. location ~ /api/records/.+/draft/files/.+/content(/[0-9]+)?/?$ { gzip off; - uwsgi_pass api_server; + set $api_upstream web-api:5000; + uwsgi_pass web-api:5000; include uwsgi_params; uwsgi_buffering off; uwsgi_request_buffering off; diff --git a/justfile b/justfile index 133823a..eb8a948 100644 --- a/justfile +++ b/justfile @@ -82,7 +82,7 @@ cleanup-versions: deploy *args: ./env.sh {{args}} cd i-form-data-repository && docker compose -f docker-compose.full.yml --env-file ../.env up -d --wait - cd i-form-data-repository && docker compose -f docker-compose.full.yml --env-file ../.env exec worker setup.sh + cd i-form-data-repository && docker compose -f docker-compose.full.yml --env-file ../.env exec worker bash -c "invenio db init || true; invenio db create || true; invenio alembic upgrade || true; invenio index init || true" fmt: bun run prettier --write "**/*.{js,jsx,ts,tsx,html,css,scss,sass,svelte,yaml,json,markdown}" @@ -104,5 +104,5 @@ test-local: docker compose -f docker-compose.full.yml --env-file ../.env build --build-arg INSTALL_LOCAL_WHEELS=true docker compose -f docker-compose.full.yml --env-file ../.env up -d --wait docker compose -f docker-compose.full.yml --env-file ../.env restart frontend - docker compose -f docker-compose.full.yml --env-file ../.env exec worker setup.sh + docker compose -f docker-compose.full.yml --env-file ../.env exec worker bash -c "invenio db init || true; invenio db create || true; invenio alembic upgrade || true; invenio index init || true" curl -skI https://127.0.0.1:8443/ || echo "HTTPS verification failed"