Add backend and frontend skeleton
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
version: "3.9"
|
||||
|
||||
# COMPOSE_PROFILES controls which services start:
|
||||
# - dev : laptop-friendly; mounts source, exposes localhost ports, enables reloaders
|
||||
# - prod : VPS-friendly; no host ports for app containers, joins proxy network for Caddy
|
||||
@@ -98,7 +96,7 @@ services:
|
||||
command:
|
||||
[
|
||||
"gunicorn",
|
||||
"app.main:app",
|
||||
"main:app",
|
||||
"-k",
|
||||
"uvicorn.workers.UvicornWorker",
|
||||
"-w",
|
||||
@@ -118,7 +116,7 @@ services:
|
||||
test:
|
||||
[
|
||||
"CMD-SHELL",
|
||||
"python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').close()\"",
|
||||
"python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz').close()\"",
|
||||
]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
@@ -139,7 +137,7 @@ services:
|
||||
environment:
|
||||
ENVIRONMENT: development
|
||||
PYTHONPATH: /app
|
||||
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
|
||||
command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
|
||||
ports:
|
||||
- "8000:8000" # Localhost access during development
|
||||
volumes:
|
||||
@@ -149,7 +147,7 @@ services:
|
||||
test:
|
||||
[
|
||||
"CMD-SHELL",
|
||||
"python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').close()\"",
|
||||
"python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz').close()\"",
|
||||
]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
@@ -196,12 +194,23 @@ services:
|
||||
LIVEKIT_KEYS: "${LIVEKIT_API_KEY}:${LIVEKIT_API_SECRET}"
|
||||
LIVEKIT_PORT: 7880
|
||||
LIVEKIT_LOG_LEVEL: ${LIVEKIT_LOG_LEVEL:-info}
|
||||
command:
|
||||
[
|
||||
"livekit-server",
|
||||
"--dev",
|
||||
"--port",
|
||||
"7880",
|
||||
"--rtc.port-range-start",
|
||||
"${LIVEKIT_RTC_PORT_RANGE_START:-60000}",
|
||||
"--rtc.port-range-end",
|
||||
"${LIVEKIT_RTC_PORT_RANGE_END:-60100}",
|
||||
]
|
||||
ports:
|
||||
- "7880:7880" # HTTP/WS signaling (Caddy terminates TLS)
|
||||
- "7881:7881" # TCP fallback for WebRTC
|
||||
- "3478:3478/udp" # TURN
|
||||
- "5349:5349/tcp" # TURN over TLS
|
||||
- "50000-60000:50000-60000/udp" # WebRTC media plane
|
||||
- "7880:7880" # HTTP/WS signaling (Caddy terminates TLS)
|
||||
- "7881:7881" # TCP fallback for WebRTC
|
||||
- "3478:3478/udp" # TURN
|
||||
- "5349:5349/tcp" # TURN over TLS
|
||||
- "${LIVEKIT_RTC_PORT_RANGE_START:-60000}-${LIVEKIT_RTC_PORT_RANGE_END:-60100}:${LIVEKIT_RTC_PORT_RANGE_START:-60000}-${LIVEKIT_RTC_PORT_RANGE_END:-60100}/udp" # WebRTC media plane
|
||||
networks:
|
||||
- app
|
||||
- proxy
|
||||
@@ -216,4 +225,7 @@ networks:
|
||||
name: app_network
|
||||
proxy:
|
||||
name: proxy
|
||||
external: true
|
||||
# In prod, set PROXY_NETWORK_EXTERNAL=true so this attaches to the shared
|
||||
# Caddy network created by infra. In dev, leave false to let Compose create
|
||||
# a local network automatically.
|
||||
external: ${PROXY_NETWORK_EXTERNAL:-false}
|
||||
|
||||
Reference in New Issue
Block a user