|
1 | 1 | RapidPro Docker |
2 | 2 | =============== |
3 | 3 |
|
4 | | -[](https://travis-ci.org/praekeltfoundation/rapidpro-docker) |
5 | | -[](https://hub.docker.com/r/praekeltfoundation/rapidpro/tags/ "Get the latest version from Docker Hub") |
6 | | - |
7 | | -This repository's sole purpose is to build docker images versioned off of |
8 | | -git tags published in rapidpro/rapidpro and upload them to Docker Hub. |
9 | | - |
10 | | -The idea is: |
11 | | - |
12 | | - 1. Set up Travis Cron job to run every 24 hours |
13 | | - 3. The Travis build script should download the latest rapidpro/rapidpro |
14 | | - tagged release matching `^v[0-9\.]$` |
15 | | - 4. Build the docker image and tag with the latest git tag. |
16 | | - 5. Push the docker image to Docker hub using credentials stored in |
17 | | - Travis' secrets vault. |
| 4 | +This repository builds docker images of RapidPro versioned off git tags |
| 5 | +published in rapidpro/rapidpro and uploads them to Docker Hub via |
| 6 | +GitHub Actions (see `.github/workflows/ci.yaml`). The set of versions |
| 7 | +built is the `VERSION` matrix in that workflow. |
18 | 8 |
|
19 | 9 | Running RapidPro in Docker |
20 | 10 | -------------------------- |
@@ -267,3 +257,57 @@ v6.0 to v6.2: |
267 | 257 | v6.4 to v7.0: |
268 | 258 | - Clear the sitestatic folder/S3 bucket and regenerate static files (otherwise icons don't work) |
269 | 259 | - Ensure you're calling celery in the new CLI format, ie. `celery --app=temba beat`, not `celery beat --app=temba` |
| 260 | + |
| 261 | +RapidPro 8.0.1 with OIDC |
| 262 | +------------------------ |
| 263 | + |
| 264 | +The `v8.0.1` build matrix entry produces an image with built-in OIDC support |
| 265 | +via the [`onaio/ona-oidc`](https://github.com/onaio/ona-oidc) Django app and |
| 266 | +Sentry telemetry via `sentry-sdk`. The image runs as the non-root `rapidpro` |
| 267 | +user (uid 1000) and uses `python:3.10.16-slim-bookworm` as its base. |
| 268 | + |
| 269 | +Build: |
| 270 | + |
| 271 | + $ docker build \ |
| 272 | + --build-arg RAPIDPRO_VERSION=v8.0.1 \ |
| 273 | + --build-arg RAPIDPRO_REPO=rapidpro/rapidpro \ |
| 274 | + --build-arg OIDC_VERSION=v1.1.1 \ |
| 275 | + -t onaio/rapidpro:v8.0.1-oidc . |
| 276 | + |
| 277 | +Build args: |
| 278 | + |
| 279 | + - `RAPIDPRO_VERSION` — git tag of `rapidpro/rapidpro` to build (default `master`). |
| 280 | + - `RAPIDPRO_REPO` — source repo (default `rapidpro/rapidpro`). |
| 281 | + - `OIDC_VERSION` — git tag of `onaio/ona-oidc` to install (default `v1.1.1`). |
| 282 | + |
| 283 | +Additional environment variables specific to this build: |
| 284 | + |
| 285 | +*ENABLE_OIDC* |
| 286 | + Set to ``on`` to enable OIDC login (loads the `oidc` app and adds |
| 287 | + `/oidc/<server>/login/` and `/oidc/<server>/logout/` routes). Defaults to ``off``. |
| 288 | + |
| 289 | +*OPENID_CONNECT_VIEWSET_CONFIG* |
| 290 | + JSON-encoded config for the OIDC viewset (see `ona-oidc` README). Required when |
| 291 | + `ENABLE_OIDC=on`. |
| 292 | + |
| 293 | +*OPENID_CONNECT_AUTH_SERVERS* |
| 294 | + JSON-encoded auth-server config for OIDC. Required when `ENABLE_OIDC=on`. |
| 295 | + |
| 296 | +*OPENID_CONNECT_DEFAULT_AUTH_SERVER* |
| 297 | + Slug of the default auth server defined in `OPENID_CONNECT_AUTH_SERVERS`. |
| 298 | + Defaults to ``default``. |
| 299 | + |
| 300 | +*SENTRY_DSN* |
| 301 | + DSN for Sentry error reporting. Optional; if unset, Sentry is not initialised. |
| 302 | + |
| 303 | +*CSRF_TRUSTED_ORIGINS* |
| 304 | + Comma-separated list of origins to trust for CSRF (Django 4+). Example: |
| 305 | + ``https://app.example.org/*,https://api.example.org/*``. Optional. |
| 306 | + |
| 307 | +*NON_ISO6391_LANGUAGES* |
| 308 | + Comma-separated ISO 639-3 language codes to allow in addition to the built-in |
| 309 | + ISO 639-1 set (e.g. ``ach,nus,zne``). Optional. |
| 310 | + |
| 311 | +*API_THROTTLE_V2_BROADCASTS* |
| 312 | + Throttle for v2 broadcast API (in addition to the existing |
| 313 | + ``API_THROTTLE_V2_*`` family). |
0 commit comments