services: postgres: image: postgres:15-alpine container_name: ak-postgres environment: POSTGRES_USER: ak_user POSTGRES_PASSWORD: ak_password POSTGRES_DB: artifact_keeper volumes: - ./pg_data:/var/lib/postgresql/data healthcheck: test: - CMD-SHELL - pg_isready -U ak_user -d artifact_keeper interval: 5s timeout: 5s retries: 5 backend: image: artifactkeeper/backend:latest container_name: ak-backend user: "root" # Переносим порт бэкенда на 8081, чтобы освободить 8080 для фронтенда ports: - 8081:8080 environment: - DATABASE_URL=postgres://ak_user:ak_password@postgres:5432/artifact_keeper - JWT_SECRET=ChangeMeToAVeryLongAndSecureRandomString123! - ADMIN_PASSWORD=DefaultAdminPassword123! - STORAGE_BACKEND=filesystem - STORAGE_PATH=/data/storage - SITE_ADDRESS=http://127.0.0.1:8080 volumes: - ./ak_storage:/data/storage depends_on: postgres: condition: service_healthy healthcheck: disable: true frontend: image: artifactkeeper/web:latest container_name: ak-frontend ports: - 8080:3000 environment: - API_URL=http://127.0.0.1:8081 depends_on: - backend networks: {}