Skip to content

Commit 00bdd15

Browse files
committed
Update to latest rapidpro v10
1 parent f2f33ae commit 00bdd15

File tree

5 files changed

+74
-50
lines changed

5 files changed

+74
-50
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2024, TextIt
1+
Copyright (c) 2025, TextIt
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![Build Status](https://github.com/nyaruka/rapidpro-docker/workflows/CI/badge.svg)](https://github.com/nyaruka/rapidpro-docker/actions?query=workflow%3ACI)
44

5-
Docker compose for the latest stable release of RapidPro from Nyaruka (9.2.x).
5+
Docker compose for the latest stable release of RapidPro from Nyaruka (10.0.x).
66

77
Includes:
88
- RapidPro webapp and celery worker ([License](https://github.com/nyaruka/rapidpro/blob/main/LICENSE))

docker-compose.yml

Lines changed: 69 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ services:
1515
ports:
1616
- 5432:5432
1717
environment:
18-
- POSTGRES_PASSWORD=tembatemba
18+
POSTGRES_PASSWORD: tembatemba
1919
healthcheck:
2020
test: ["CMD-SHELL", "pg_isready"]
2121
interval: 10s
@@ -28,10 +28,10 @@ services:
2828
ports:
2929
- 9200:9200
3030
environment:
31-
- discovery.type=single-node
32-
- xpack.security.enabled=false
33-
- ingest.geoip.downloader.enabled=false
34-
- logger.level=INFO
31+
discovery.type: single-node
32+
xpack.security.enabled: false
33+
ingest.geoip.downloader.enabled: false
34+
logger.level: INFO
3535
healthcheck:
3636
test: curl -s http://localhost:9200 >/dev/null || exit 1
3737
interval: 10s
@@ -49,6 +49,19 @@ services:
4949
interval: 5s
5050
timeout: 2s
5151

52+
dynamo:
53+
image: amazon/dynamodb-local
54+
command: "-jar DynamoDBLocal.jar -sharedDb -port 6000"
55+
volumes:
56+
- dynamo:/home/dynamodblocal/data
57+
ports:
58+
- 6000:6000
59+
healthcheck:
60+
test: [ "CMD-SHELL", "curl -v http://dynamo:6000" ]
61+
interval: 10s
62+
timeout: 5s
63+
restart: always
64+
5265
minio:
5366
image: bitnami/minio:latest
5467
ports:
@@ -57,9 +70,9 @@ services:
5770
volumes:
5871
- minio:/data
5972
environment:
60-
- MINIO_ROOT_USER=root
61-
- MINIO_ROOT_PASSWORD=tembatemba
62-
- MINIO_DEFAULT_BUCKETS=temba-attachments,temba-sessions,temba-logs,temba-archives
73+
MINIO_ROOT_USER: root
74+
MINIO_ROOT_PASSWORD: tembatemba
75+
MINIO_DEFAULT_BUCKETS: temba-default,temba-attachments:public,temba-sessions,temba-logs,temba-archives
6376
healthcheck:
6477
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
6578

@@ -68,7 +81,7 @@ services:
6881
build:
6982
context: ./rapidpro/
7083
args:
71-
- RAPIDPRO_TAG=v9.2.5
84+
- RAPIDPRO_TAG=v10.0.1
7285
command: ["webapp"]
7386
depends_on:
7487
postgres:
@@ -77,12 +90,15 @@ services:
7790
condition: service_healthy
7891
redis:
7992
condition: service_healthy
93+
dynamo:
94+
condition: service_healthy
8095
minio:
8196
condition: service_healthy
8297
ports:
8398
- 8000:8000
8499
environment:
85-
- MAILROOM_URL=http://mailroom:8090
100+
MAILROOM_URL: http://mailroom:8090
101+
MAILROOM_AUTH_TOKEN: topsecret
86102
healthcheck:
87103
test: curl -s http://localhost:8000 >/dev/null || exit 1
88104
interval: 15s
@@ -95,78 +111,83 @@ services:
95111
build:
96112
context: ./rapidpro/
97113
args:
98-
- RAPIDPRO_TAG=v9.2.5
114+
- RAPIDPRO_TAG=v10.0.0
99115
command: ["celery"]
100116
depends_on:
101117
rapidpro:
102118
condition: service_healthy
103119
environment:
104-
- MAILROOM_URL=http://mailroom:8090
120+
MAILROOM_URL: http://mailroom:8090
105121

106122
mailroom:
107123
image: nyaruka/mailroom:stable
108124
build:
109-
context: https://github.com/nyaruka/mailroom.git#v9.2.2
125+
context: https://github.com/nyaruka/mailroom.git#v10.0.0
110126
dockerfile: Dockerfile
111127
depends_on:
112128
rapidpro:
113129
condition: service_healthy
114130
ports:
115131
- 8090:8090
116132
environment:
117-
- MAILROOM_ADDRESS=0.0.0.0
118-
- MAILROOM_DB=postgres://temba:temba@postgres:5432/temba?sslmode=disable
119-
- MAILROOM_REDIS=redis://redis:6379/15
120-
- MAILROOM_ELASTIC=http://elastic:9200
121-
- MAILROOM_DOMAIN=${MAILROOM_DOMAIN:-host.docker.internal}
122-
- MAILROOM_ATTACHMENT_DOMAIN=${MAILROOM_ATTACHMENT_DOMAIN:-host.docker.internal}
123-
- MAILROOM_DISALLOWED_NETWORKS=6.6.6.6
124-
- MAILROOM_AWS_ACCESS_KEY_ID=root
125-
- MAILROOM_AWS_SECRET_ACCESS_KEY=tembatemba
126-
- MAILROOM_S3_ENDPOINT=http://minio:9000
127-
- MAILROOM_S3_SESSIONS_BUCKET=temba-sessions
128-
- MAILROOM_S3_ATTACHMENTS_BUCKET=temba-attachments
129-
- MAILROOM_S3_LOGS_BUCKET=temba-logs
130-
- MAILROOM_S3_FORCE_PATH_STYLE=true
131-
- MAILROOM_LOG_LEVEL=info
133+
MAILROOM_ADDRESS: 0.0.0.0
134+
MAILROOM_DB: postgres://temba:temba@postgres:5432/temba?sslmode=disable
135+
MAILROOM_REDIS: redis://redis:6379/15
136+
MAILROOM_ELASTIC: http://elastic:9200
137+
MAILROOM_DOMAIN: ${MAILROOM_DOMAIN:-host.docker.internal}
138+
MAILROOM_ATTACHMENT_DOMAIN: ${MAILROOM_ATTACHMENT_DOMAIN:-host.docker.internal}
139+
MAILROOM_DISALLOWED_NETWORKS: 6.6.6.6
140+
MAILROOM_AUTH_TOKEN: topsecret
141+
MAILROOM_COURIER_AUTH_TOKEN: topsecret
142+
MAILROOM_AWS_ACCESS_KEY_ID: root
143+
MAILROOM_AWS_SECRET_ACCESS_KEY: tembatemba
144+
MAILROOM_DYNAMO_ENDPOINT: http://dynamo:6000
145+
MAILROOM_DYNAMO_TABLE_PREFIX: Temba
146+
MAILROOM_S3_ENDPOINT: http://minio:9000
147+
MAILROOM_S3_SESSIONS_BUCKET: temba-sessions
148+
MAILROOM_S3_ATTACHMENTS_BUCKET: temba-attachments
149+
MAILROOM_S3_MINIO: true
150+
MAILROOM_LOG_LEVEL: info
132151

133152
courier:
134153
image: nyaruka/courier:stable
135154
build:
136-
context: https://github.com/nyaruka/courier.git#v9.2.1
155+
context: https://github.com/nyaruka/courier.git#v10.0.0
137156
dockerfile: Dockerfile
138157
depends_on:
139158
rapidpro:
140159
condition: service_healthy
141160
ports:
142161
- 8080:8080
143162
environment:
144-
- COURIER_ADDRESS=0.0.0.0
145-
- COURIER_DB=postgres://temba:temba@postgres:5432/temba?sslmode=disable
146-
- COURIER_REDIS=redis://redis:6379/15
147-
- COURIER_DOMAIN=${COURIER_DOMAIN:-host.docker.internal}
148-
- COURIER_BASE_URL=${COURIER_BASE_URL:-https://host.docker.internal}
149-
- COURIER_DISALLOWED_NETWORKS=6.6.6.6
150-
- COURIER_AWS_ACCESS_KEY_ID=root
151-
- COURIER_AWS_SECRET_ACCESS_KEY=tembatemba
152-
- COURIER_S3_ENDPOINT=http://minio:9000
153-
- COURIER_S3_ATTACHMENTS_BUCKET=temba-attachments
154-
- COURIER_S3_LOGS_BUCKET=temba-logs
155-
- COURIER_S3_FORCE_PATH_STYLE=true
156-
- COURIER_LOG_LEVEL=info
163+
COURIER_ADDRESS: 0.0.0.0
164+
COURIER_DB: postgres://temba:temba@postgres:5432/temba?sslmode=disable
165+
COURIER_REDIS: redis://redis:6379/15
166+
COURIER_DOMAIN: ${COURIER_DOMAIN:-host.docker.internal}
167+
COURIER_BASE_URL: ${COURIER_BASE_URL:-https://host.docker.internal}
168+
COURIER_DISALLOWED_NETWORKS: 6.6.6.6
169+
COURIER_AUTH_TOKEN: topsecret
170+
COURIER_AWS_ACCESS_KEY_ID: root
171+
COURIER_AWS_SECRET_ACCESS_KEY: tembatemba
172+
COURIER_DYNAMO_ENDPOINT: http://dynamo:6000
173+
COURIER_DYNAMO_TABLE_PREFIX: Temba
174+
COURIER_S3_ENDPOINT: http://minio:9000
175+
COURIER_S3_ATTACHMENTS_BUCKET: temba-attachments
176+
COURIER_S3_MINIO: true
177+
COURIER_LOG_LEVEL: info
157178

158179
indexer:
159180
image: nyaruka/indexer:stable
160181
build:
161-
context: https://github.com/nyaruka/rp-indexer.git#v9.2.0
182+
context: https://github.com/nyaruka/rp-indexer.git#v10.0.0
162183
dockerfile: Dockerfile
163184
depends_on:
164185
rapidpro:
165186
condition: service_healthy
166187
environment:
167-
- INDEXER_DB=postgres://temba:temba@postgres:5432/temba?sslmode=disable
168-
- INDEXER_ELASTIC_URL=http://elastic:9200
169-
- INDEXER_LOG_LEVEL=info
188+
INDEXER_DB: postgres://temba:temba@postgres:5432/temba?sslmode=disable
189+
INDEXER_ELASTIC_URL: http://elastic:9200
190+
INDEXER_LOG_LEVEL: info
170191

171192
volumes:
172193
postgres:
@@ -175,5 +196,7 @@ volumes:
175196
driver: local
176197
redis:
177198
driver: local
199+
dynamo:
200+
driver: local
178201
minio:
179202
driver: local

rapidpro/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.11-bullseye
1+
FROM python:3.12-bullseye
22

33
ARG RAPIDPRO_TAG
44
ENV RAPIDPRO_TAG=${RAPIDPRO_TAG:-main}
@@ -12,7 +12,7 @@ RUN npm install -g yarn less
1212

1313
WORKDIR /rapidpro
1414
RUN wget -O rapidpro.tar.gz "https://github.com/nyaruka/rapidpro/archive/${RAPIDPRO_TAG}.tar.gz" && tar -xf rapidpro.tar.gz --strip-components=1 && rm rapidpro.tar.gz
15-
RUN poetry install
15+
RUN poetry install --no-root
1616
RUN yarn install
1717
RUN ln -s /rapidpro/temba/settings.py.dev /rapidpro/temba/settings.py
1818

rapidpro/entrypoint.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ACTION=${1:-webapp}
77
if [ "$ACTION" = "webapp" ]; then
88
echo "Running RapidPro webapp..."
99
poetry run python3 manage.py migrate
10+
poetry run python3 manage.py migrate_dynamo
1011
poetry run python3 manage.py runserver 0.0.0.0:8000
1112
elif [ "$ACTION" = "celery" ]; then
1213
echo "Running RapidPro celery worker..."

0 commit comments

Comments
 (0)