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>
This commit is contained in:
67
.do/app.yaml
Normal file
67
.do/app.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user