-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcompose.yaml
More file actions
101 lines (91 loc) · 2.34 KB
/
compose.yaml
File metadata and controls
101 lines (91 loc) · 2.34 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
x-env: &env
environment:
- DEBUG=true
- ADMIN_EMAIL=adm@hcw.org
- ADMIN_PASSWORD=123
- ALLOWED_HOSTS=localhost
- CSRF_COOKIE_SECURE=False
- CSRF_TRUSTED_ORIGINS=http://localhost
- AUTHENTICATION_BACKENDS=country_workspace.security.backends.AnyUserAuthBackend
- HOPE_API_TOKEN=${HOPE_API_TOKEN}
- CACHE_URL=redis://redis:6379/1
- CELERY_BROKER_URL=redis://redis:6379/9
- CELERY_TASK_ALWAYS_EAGER=False
- DATABASE_URL=postgres://hcw:password@db:5432/country_workspace
- MEDIA_ROOT=/var/country_workspace/media
- SECRET_KEY=sensitive-secret-key
- STATIC_ROOT=/var/country_workspace/static
x-common: &common
build:
context: .
dockerfile: docker/Dockerfile
target: dist
platform: linux/amd64
# volumes:
# - ./src/:/app/src/
# - ./tests/:/app/tests/
# - ./pyproject.toml:/app/pyproject.toml
# - ./uv.lock:/app/uv.lock
# - /var/run/docker.sock:/var/run/docker.sock
restart: always
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
services:
backend:
<<: [*common, *env]
ports:
- 8000:8000
command: run
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8000/healthcheck" ]
interval: 10s
timeout: 5s
retries: 5
celery_worker:
<<: [*common, *env]
# entrypoint: ["sh", "-c", "exec docker-entrypoint.sh \"$0\" \"$@\""]
command: worker
celery-beat:
<<: [*common, *env]
command: beat
flower:
<<: [*common, *env]
command: flower
environment:
- DEBUG=true
- DATABASE_URL="sqlite://:memory:"
db:
image: postgres:14
environment:
- POSTGRES_USER=hcw
- POSTGRES_PASSWORD=password
- POSTGRES_DB=country_workspace
volumes:
- postgres_data14:/var/lib/postgresql14/data/
# ports:
# - 5432:5432
restart: always
healthcheck:
test: [ "CMD", "pg_isready", "-U", "hcw", "-d", "country_workspace" ]
start_period: 5s
start_interval: 1s
interval: 5s
timeout: 4s
retries: 5
redis:
image: redis:7.2
# ports:
# - 6379:6379
restart: always
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
start_period: 5s
start_interval: 1s
interval: 5s
timeout: 4s
retries: 5
volumes:
postgres_data14: