-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
60 lines (53 loc) · 1.72 KB
/
docker-compose.dev.yml
File metadata and controls
60 lines (53 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
services:
dailynotes-dev:
build:
context: .
dockerfile: Dockerfile.dev
container_name: dailynotes-dev
ports:
# Quart backend (uvicorn)
- "8000:8000"
# Vue dev server with hot reload
- "8080:8080"
volumes:
# Mount source code for hot-reloading
# Python backend files
- ./app:/app/app
- ./server.py:/app/server.py
- ./config.py:/app/config.py
- ./migrations:/app/migrations
- ./verify_data_migrations.py:/app/verify_data_migrations.py
- ./verify_env.py:/app/verify_env.py
- ./run.sh:/app/run.sh
# Frontend source files
- ./client/src:/app/client/src
- ./client/public:/app/client/public
- ./client/vue.config.js:/app/client/vue.config.js
- ./client/tsconfig.json:/app/client/tsconfig.json
# Persistent data (database, environment config)
- ./config:/app/config
# Exclude node_modules and Python cache from host
# (use container's versions instead)
- /app/client/node_modules
- /app/__pycache__
- /app/app/__pycache__
env_file:
- ./.env
environment:
# These override values from .env if needed
# Development mode flags
NODE_ENV: development
# Optional: Prevent signups in dev
# PREVENT_SIGNUPS: "true"
# Development doesn't need aggressive health checks
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health", "||", "curl", "-f", "http://localhost:8080"]
interval: 60s
timeout: 10s
retries: 3
start_period: 30s
# Auto-restart on crashes during development
restart: unless-stopped
# Use stdin and tty for interactive debugging if needed
stdin_open: true
tty: true