- 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>
68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
# Digital Ocean App Platform Spec
|
|
# Deploy VIP Coordinator from Docker Hub
|
|
name: vip-coordinator
|
|
region: nyc
|
|
|
|
# Managed Database (PostgreSQL)
|
|
databases:
|
|
- name: vip-db
|
|
engine: PG
|
|
version: "16"
|
|
production: false # Dev tier ($7/month) - set true for prod ($15/month)
|
|
|
|
services:
|
|
# Backend API Service
|
|
- name: backend
|
|
image:
|
|
registry_type: DOCKER_HUB
|
|
registry: t72chevy
|
|
repository: vip-coordinator-backend
|
|
tag: latest
|
|
# For private repos, credentials configured separately
|
|
instance_count: 1
|
|
instance_size_slug: basic-xxs # $5/month - smallest
|
|
http_port: 3000
|
|
health_check:
|
|
http_path: /api/v1/health
|
|
initial_delay_seconds: 40
|
|
envs:
|
|
- key: NODE_ENV
|
|
value: production
|
|
- key: DATABASE_URL
|
|
scope: RUN_TIME
|
|
value: ${vip-db.DATABASE_URL}
|
|
- key: REDIS_URL
|
|
value: ${redis.REDIS_URL}
|
|
- 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 Service
|
|
- name: frontend
|
|
image:
|
|
registry_type: DOCKER_HUB
|
|
registry: t72chevy
|
|
repository: vip-coordinator-frontend
|
|
tag: latest
|
|
instance_count: 1
|
|
instance_size_slug: basic-xxs # $5/month
|
|
http_port: 80
|
|
routes:
|
|
- path: /
|
|
|
|
# Redis Worker (using official image)
|
|
jobs:
|
|
- name: redis
|
|
image:
|
|
registry_type: DOCKER_HUB
|
|
repository: redis
|
|
tag: "7-alpine"
|
|
instance_count: 1
|
|
instance_size_slug: basic-xxs # $5/month
|
|
kind: PRE_DEPLOY
|