-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
111 lines (106 loc) · 3.31 KB
/
docker-compose.yml
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
102
103
104
105
106
107
108
109
110
111
x-environment: &default-environment
DJANGO_SECRET_KEY: insecure_key
DJANGO_DEBUG: "true"
PYTHONUNBUFFERED: 1
DATABASE_URL: postgis://postgres:postgres@postgres:5432/postgres
KC_DATABASE_URL: postgis://postgres:postgres@postgres:5432/kobocat
REDIS_SESSION_URL: redis://redis:6379
ENKETO_REDIS_MAIN_URL: redis://redis:6379
CELERY_BROKER_URL: redis://redis:6379
CACHE_URL: redis://redis:6379
SERVICE_ACCOUNT_BACKEND_URL: redis://redis:6379
PUBLIC_REQUEST_SCHEME: http
SESSION_COOKIE_DOMAIN: .kobo.local
KOBOCAT_INTERNAL_URL: http://kpi:8080
KOBOCAT_URL: http://kf.kobo.local:8080
MONGO_DB_URL: mongodb://mongo:27017
KOBOFORM_INTERNAL_URL: http://kpi:8080
KOBOFORM_URL: http://kf.kobo.local:8080
ENKETO_URL: http://ee.kobo.local:8005
ENKETO_INTERNAL_URL: http://ee.kobo.local:8005
SERVICE_ACCOUNT_WHITELISTED_HOSTS: kpi:8080,kobocat:8001
EMAIL_BACKEND: 'django.core.mail.backends.console.EmailBackend'
# Uncomment for mailhog
#EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST: mailhog
EMAIL_PORT: 1025
#FRONTEND_DEV_MODE: host
#STRIPE_LIVE_MODE: "False"
#STRIPE_TEST_SECRET_KEY: "sk_test_fake"
#STRIPE_LIVE_SECRET_KEY: "sk_live_fake"
#DJSTRIPE_WEBHOOK_VALIDATION: "retrieve_event"
# Uncomment to make breakpoint() call ipython debugger. Also: pip install ipdb
#PYTHONBREAKPOINT: "ipdb.set_trace"
x-depends_on: &default-depends_on
- postgres
- redis
- mongo
- nginx
services:
postgres:
image: postgis/postgis:17-3.4
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
volumes:
- ./initdb.sql:/docker-entrypoint-initdb.d/initdb.sql
redis:
image: valkey/valkey:8
mongo:
image: mongo:8.0
nginx:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./.vols/kobocat_media_uploads:/media
- ./.vols/kpi_media/__public:/srv/kpi_media/__public
ports:
- "80:8000"
kpi:
build: ./kpi
depends_on: *default-depends_on
environment:
<<: *default-environment
volumes:
- ./kpi:/srv/src/kpi
- ./.vols/kobocat_media_uploads:/srv/src/kobocat/media
command: ./manage.py runserver 0.0.0.0:8080
ports:
- "8080:8080"
networks:
default:
aliases:
- kf.kobo.local
stdin_open: true
tty: true
kpi_worker:
build: ./kpi
depends_on: *default-depends_on
environment:
<<: *default-environment
volumes:
- ./kpi:/srv/src/kpi
command: celery -A kobo worker -l info -B -s /tmp/celerybeat-schedule --pool threads -Q kpi_low_priority_queue,kpi_queue,kobocat_queue
enketo_express:
image: kobotoolbox/enketo-express-extra-widgets:6.2.2
init: true
#build: ./enketo-express
#volumes:
# - ./enketo-express:/srv/src/enketo_express
# - node_modules:/srv/src/enketo_express/node_modules
depends_on: *default-depends_on
environment:
ENKETO_REDIS_MAIN_URL: "redis://redis:6379"
ENKETO_REDIS_CACHE_URL: "redis://redis:6379"
ENKETO_MAX_PROCESSES: 1
ENKETO_LINKED_FORM_AND_DATA_SERVER_SERVER_URL: ""
ENKETO_LINKED_FORM_AND_DATA_SERVER_AUTHENTICATION_ALLOW_INSECURE_TRANSPORT: "true"
command: node app.js
#command: node_modules/.bin/grunt develop
ports:
- "8005:8005"
networks:
default:
aliases:
- ee.kobo.local
volumes:
node_modules: