Initial commit: add FastAPI MVP (모프) and existing web app
Includes FastAPI+Jinja2+HTMX+SQLite implementation with seed categories, plus deployment templates. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
69
docker-compose.yml
Normal file
69
docker-compose.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
services:
|
||||
web:
|
||||
build:
|
||||
context: ./apps/web
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: 3000
|
||||
DATABASE_URL: ${DATABASE_URL}
|
||||
NEXT_PUBLIC_SITE_URL: ${NEXT_PUBLIC_SITE_URL:-https://prompt.ncue.net}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- allprompt
|
||||
|
||||
caddy:
|
||||
image: caddy:2
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
environment:
|
||||
CADDY_EMAIL: ${CADDY_EMAIL}
|
||||
depends_on:
|
||||
- web
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- allprompt
|
||||
|
||||
# 1회성: 스키마 적용(필요할 때만)
|
||||
db_init:
|
||||
image: postgres:16
|
||||
profiles: ["init"]
|
||||
volumes:
|
||||
- ./apps/web/db/schema.sql:/schema.sql:ro
|
||||
environment:
|
||||
PGHOST: ${PGHOST:-ncue.net}
|
||||
PGDATABASE: ${PGDATABASE:-all_prompt}
|
||||
PGUSER: ${PGUSER:-ncue}
|
||||
PGPASSWORD: ${PGPASSWORD}
|
||||
entrypoint: ["/bin/bash", "-lc"]
|
||||
command: ["psql -v ON_ERROR_STOP=1 -f /schema.sql"]
|
||||
networks:
|
||||
- allprompt
|
||||
|
||||
# 1회성: 시드 데이터(필요할 때만)
|
||||
db_seed:
|
||||
build:
|
||||
context: ./apps/web
|
||||
dockerfile: Dockerfile
|
||||
profiles: ["init"]
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
DATABASE_URL: ${DATABASE_URL}
|
||||
entrypoint: ["/bin/bash", "-lc"]
|
||||
command: ["node -e \"console.log('Seeding...')\" && npx prisma db seed --schema prisma/schema.prisma"]
|
||||
networks:
|
||||
- allprompt
|
||||
|
||||
networks:
|
||||
allprompt:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
|
||||
Reference in New Issue
Block a user