# Compose file for test.coppertone.tech # Builds from CopperTone.Tech repo (develop branch) # All services bind to 127.0.0.1 only (routed via nginx reverse proxy) # # Deploy with: ./deploy.sh # Or manually: podman-compose down && podman-compose build && podman-compose up -d services: # Frontend from develop branch frontend: build: context: ./repo/frontend dockerfile: Containerfile container_name: test-coppertone-tech-frontend restart: unless-stopped ports: - "127.0.0.1:9100:80" volumes: - ./frontend-nginx.conf:/etc/nginx/conf.d/default.conf:ro environment: - VITE_API_BASE_URL=https://test.coppertone.tech/api healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost/"] interval: 30s timeout: 10s retries: 3 # Auth service auth-service: build: context: ./repo/backend/functions/auth-service dockerfile: Containerfile container_name: test-coppertone-tech-auth restart: unless-stopped ports: - "127.0.0.1:9102:8080" environment: JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long} DEFAULT_USER_ROLE: ${DEFAULT_USER_ROLE:-CLIENT} DB_HOST: db DB_USER: ${DB_USER:-testuser} DB_PASSWORD: ${DB_PASSWORD:-testpassword} DB_NAME: ${DB_NAME:-testcoppertone_db} DB_SSL_MODE: ${DB_SSL_MODE:-disable} CORS_ALLOW_ORIGIN: https://test.coppertone.tech depends_on: - db # Work management service work-management-service: build: context: ./repo/backend/functions/work-management-service dockerfile: Containerfile container_name: test-coppertone-tech-work-mgmt restart: unless-stopped ports: - "127.0.0.1:9103:8080" environment: JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long} DB_HOST: db DB_USER: ${DB_USER:-testuser} DB_PASSWORD: ${DB_PASSWORD:-testpassword} DB_NAME: ${DB_NAME:-testcoppertone_db} DB_SSL_MODE: ${DB_SSL_MODE:-disable} CORS_ALLOW_ORIGIN: https://test.coppertone.tech depends_on: - db # Blog service blog-service: build: context: ./repo/backend/functions/blog-service dockerfile: Containerfile container_name: test-coppertone-tech-blog restart: unless-stopped ports: - "127.0.0.1:9105:8080" environment: JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long} DB_HOST: db DB_USER: ${DB_USER:-testuser} DB_PASSWORD: ${DB_PASSWORD:-testpassword} DB_NAME: ${DB_NAME:-testcoppertone_db} DB_SSL_MODE: ${DB_SSL_MODE:-disable} CORS_ALLOW_ORIGIN: https://test.coppertone.tech depends_on: - db # Database for test environment db: image: postgres:16-alpine container_name: test-coppertone-tech-db restart: unless-stopped environment: POSTGRES_DB: testcoppertone_db POSTGRES_USER: testuser POSTGRES_PASSWORD: testpassword volumes: - ./data/postgres:/var/lib/postgresql/data