From 373dbf12f6797497656565e9baa7ac69e1f005f5 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 13 Feb 2026 23:00:47 +0900 Subject: refactor(infra): serve frontend static files via nginx volume mount Replace app-server proxy with direct static file serving from nginx. The frontend service builds assets into a shared volume, and the reverse-proxy serves them with SPA fallback via try_files. Co-Authored-By: Claude Opus 4.6 --- compose.prod.yaml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'compose.prod.yaml') diff --git a/compose.prod.yaml b/compose.prod.yaml index b2ad9fe..2c6c828 100644 --- a/compose.prod.yaml +++ b/compose.prod.yaml @@ -6,11 +6,24 @@ services: volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - files-data:/var/www/files:ro + - frontend-assets:/var/www/iosdc-japan/2025/code-battle:ro depends_on: - - api-server - - app-server + api-server: + condition: service_started + frontend: + condition: service_completed_successfully restart: always + frontend: + build: + context: ./frontend + args: + ALBATROSS_BASE_PATH: $ALBATROSS_BASE_PATH + volumes: + - frontend-assets:/output + entrypoint: ["sh", "-c", "cp -r /usr/share/nginx/html/. /output/"] + restart: "no" + api-server: build: context: ./backend @@ -32,17 +45,6 @@ services: env_file: [.env] restart: always - app-server: - build: - context: ./frontend - args: - ALBATROSS_HOST: localhost - ALBATROSS_BASE_PATH: $ALBATROSS_BASE_PATH - expose: - - 80 - env_file: [.env] - restart: always - db: image: postgres:16.3 environment: @@ -101,3 +103,4 @@ services: volumes: db-data: files-data: + frontend-assets: -- cgit v1.3.1