Initial commit: web-hosts infrastructure
- hostctl.sh management script for starting/stopping/restarting hosts - test.coppertone.tech domain setup with compose.yaml - deploy.sh for automated deployments from testing branch - frontend-nginx.conf for static file serving 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
99
domains/test.coppertone.tech/compose.yaml
Normal file
99
domains/test.coppertone.tech/compose.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user