Files
vip-coordinator/digitalocean-app-spec.yaml
kyle f36999cf43 feat: add Digital Ocean App Platform deployment
- Create App Platform deployment spec (.do/app.yaml)
- Add comprehensive APP_PLATFORM_DEPLOYMENT.md guide
- Configure Docker Hub as container registry
- Set up managed PostgreSQL database
- Configure auto-SSL and custom domain support
- Total cost: ~$17/month (vs $24+ for droplets)

Images available on Docker Hub:
- t72chevy/vip-coordinator-backend:latest
- t72chevy/vip-coordinator-frontend:latest

Images also available on Gitea:
- gitea.madeamess.online/kyle/vip-coordinator/backend:latest
- gitea.madeamess.online/kyle/vip-coordinator/frontend:latest

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-31 21:39:07 +01:00

87 lines
2.3 KiB
YAML

# Digital Ocean App Platform Specification
# Deploy VIP Coordinator with managed containers
name: vip-coordinator
region: nyc
# Database (Managed PostgreSQL)
databases:
- name: vip-coordinator-db
engine: PG
version: "16"
production: false # Set to true for production (more expensive)
cluster_name: vip-coordinator-postgres
# Services
services:
# Backend API
- name: backend
github:
repo: kyle/vip-coordinator # Will be overridden to use Docker registry
branch: main
deploy_on_push: true
dockerfile_path: backend/Dockerfile
# Override with Docker registry
image:
registry_type: DOCR # Will need to use DigitalOcean registry or Docker Hub
registry: gitea.madeamess.online
repository: kyle/vip-coordinator/backend
tag: latest
instance_count: 1
instance_size_slug: basic-xxs # $5/month
http_port: 3000
health_check:
http_path: /api/v1/health
envs:
- key: NODE_ENV
value: production
- key: DATABASE_URL
scope: RUN_TIME
type: SECRET
- key: REDIS_URL
value: redis://redis:6379
- key: AUTH0_DOMAIN
value: dev-s855cy3bvjjbkljt.us.auth0.com
- key: AUTH0_AUDIENCE
value: https://vip-coordinator-api
- key: AUTH0_ISSUER
value: https://dev-s855cy3bvjjbkljt.us.auth0.com/
routes:
- path: /api
# Frontend
- name: frontend
github:
repo: kyle/vip-coordinator
branch: main
dockerfile_path: frontend/Dockerfile
image:
registry_type: DOCR
registry: gitea.madeamess.online
repository: kyle/vip-coordinator/frontend
tag: latest
instance_count: 1
instance_size_slug: basic-xxs # $5/month
http_port: 80
build_command: echo "Using pre-built image"
envs:
- key: VITE_API_URL
value: https://vip-coordinator-${APP_URL}/api/v1
- key: VITE_AUTH0_DOMAIN
value: dev-s855cy3bvjjbkljt.us.auth0.com
- key: VITE_AUTH0_CLIENT_ID
value: JXEVOIfS5eYCkeKbbCWIkBYIvjqdSP5d
- key: VITE_AUTH0_AUDIENCE
value: https://vip-coordinator-api
routes:
- path: /
# Workers (Redis)
workers:
- name: redis
github:
repo: kyle/vip-coordinator
branch: main
dockerfile_path: Dockerfile.redis
instance_count: 1
instance_size_slug: basic-xxs