Skip to content
This repository was archived by the owner on Aug 12, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions courier.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM debian:stretch-slim

RUN set -ex; \
addgroup --system courier; \
adduser --system --ingroup courier courier

# Install ca-certificates so HTTPS works in general
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*

ARG COURIER_REPO
ENV COURIER_REPO=${COURIER_REPO:-nyaruka/courier}
ARG COURIER_VERSION
ENV COURIER_VERSION=${COURIER_VERSION:-1.2.84}

RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \
\
wget -O courier.tar.gz "https://github.com/$COURIER_REPO/releases/download/v${COURIER_VERSION}/courier_${COURIER_VERSION}_linux_amd64.tar.gz"; \
mkdir /usr/local/src/courier; \
tar -xzC /usr/local/src/courier -f courier.tar.gz; \
\
# Just grab the binary and ignore the other packaged files
mv /usr/local/src/courier/courier /usr/local/bin/; \
rm -rf /usr/local/src/courier courier.tar.gz; \
\
apt-get purge -y --auto-remove wget

EXPOSE 8080

USER courier

ENTRYPOINT []
CMD ["courier"]
100 changes: 83 additions & 17 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@
version: '2'
services:
rapidpro:
image: sdehaan/rapidpro:v4
image: praekeltfoundation/rapidpro:v5.0.9
depends_on:
- redis
- postgresql
ports:
- '8000:8000'
environment:
- DOMAIN_NAME=localhost
- ALLOWED_HOSTS=localhost
- TEMBA_HOST=localhost
- DOMAIN_NAME=${RAPIDPRO_IP_ADDRESS}
- ALLOWED_HOSTS=${RAPIDPRO_IP_ADDRESS}
- TEMBA_HOST=${RAPIDPRO_IP_ADDRESS}
- DJANGO_DEBUG=off
- MAILROOM_URL=http://mailroom:8090
- DATABASE_URL=postgresql://postgres:postgres@postgresql/rapidpro
- REDIS_URL=redis://redis:6379/0
- SECRET_KEY=super-secret-key
Expand All @@ -25,24 +26,28 @@ services:
- MANAGEPY_INIT_DB=on
- MANAGEPY_MIGRATE=on
celery_base:
image: sdehaan/rapidpro:v4
image: praekeltfoundation/rapidpro:v5.0.9
depends_on:
- rapidpro
links:
- redis
- postgresql
- mailroom
- elasticsearch
environment:
- DATABASE_URL=postgresql://postgres:postgres@postgresql/rapidpro
- REDIS_URL=redis://redis:6379/0
- SECRET_KEY=super-secret-key
command: ["/venv/bin/celery", "--beat", "--app=temba", "worker", "--loglevel=INFO", "--queues=celery,flows"]
celery_msgs:
image: sdehaan/rapidpro:v4
image: praekeltfoundation/rapidpro:v5.0.9
depends_on:
- rapidpro
links:
- redis
- postgresql
- mailroom
- elasticsearch
environment:
- DATABASE_URL=postgresql://postgres:postgres@postgresql/rapidpro
- REDIS_URL=redis://redis:6379/0
Expand All @@ -54,15 +59,76 @@ services:
image: mdillon/postgis:9.6
environment:
- POSTGRES_DB=rapidpro
courier:
image: praekeltfoundation/courier
depends_on:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.0
environment:
- bootstrap.memory_lock=true
- ES_HEAP_SIZE=128m
- ES_JAVA_OPTS=-Xms128m -Xmx128m
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
rp-indexer:
container_name: rp-indexer
build:
context: .
dockerfile: rp-indexer.dockerfile
args:
- RP_INDEXER_VERSION=2.0.0
depends_on:
- rapidpro
links:
- redis
- postgresql
environment:
- COURIER_DOMAIN=localhost
- COURIER_SPOOL_DIR=/tmp/courier/
- COURIER_DB=postgres://postgres:postgres@postgresql/rapidpro
- COURIER_REDIS=redis://redis:6379/8
links:
- postgresql
- elasticsearch
environment:
- INDEXER_DB=postgresql://postgres:postgres@postgresql/rapidpro?sslmode=disable
- INDEXER_ELASTIC_URL=http://elastic:changeme@elasticsearch:9200
rp-archiver:
container_name: rp-archiver
build:
context: .
dockerfile: rp-archiver.dockerfile
args:
- RP_ARCHIVER_VERSION=2.0.0
depends_on:
- rapidpro
links:
- postgresql
environment:
- ARCHIVER_DB=postgresql://postgres:postgres@postgresql/rapidpro?sslmode=disable
courier:
container_name: courier
build:
context: .
dockerfile: courier.dockerfile
args:
- COURIER_VERSION=2.0.2
depends_on:
- rapidpro
links:
- redis
- postgresql
environment:
- COURIER_DOMAIN=${RAPIDPRO_IP_ADDRESS}
- COURIER_SPOOL_DIR=/tmp/courier/
- COURIER_DB=postgres://postgres:postgres@postgresql/rapidpro
- COURIER_REDIS=redis://redis:6379/8
mailroom:
container_name: mailroom
build:
context: .
dockerfile: mailroom.dockerfile
args:
- MAILROOM_VERSION=2.0.9
links:
- redis
- postgresql
environment:
- MAILROOM_ADDRESS=0.0.0.0
- MAILROOM_DOMAIN=${RAPIDPRO_IP_ADDRESS}
- MAILROOM_REDIS=redis://redis:6379/15
- MAILROOM_DB=postgres://postgres:postgres@postgresql/rapidpro?sslmode=disable
- MAILROOM_LOG_LEVEL=debug

38 changes: 38 additions & 0 deletions mailroom.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM debian:stretch-slim

RUN set -ex; \
addgroup --system mailroom; \
adduser --system --ingroup mailroom mailroom

# Install ca-certificates so HTTPS works in general
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*

ARG MAILROOM_REPO
ENV MAILROOM_REPO ${MAILROOM_REPO:-nyaruka/mailroom}
ARG MAILROOM_VERSION
ENV MAILROOM_VERSION ${MAILROOM_VERSION:-0.0.201}

RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \
\
wget -O mailroom.tar.gz "https://github.com/$MAILROOM_REPO/releases/download/v${MAILROOM_VERSION}/mailroom_${MAILROOM_VERSION}_linux_amd64.tar.gz"; \
mkdir /usr/local/src/mailroom; \
tar -xzC /usr/local/src/mailroom -f mailroom.tar.gz; \
\
# Just grab the binary and ignore the other packaged files
mv /usr/local/src/mailroom/mailroom /usr/local/bin/; \
rm -rf /usr/local/src/mailroom mailroom.tar.gz; \
\
apt-get purge -y --auto-remove wget

EXPOSE 8090

USER mailroom

ENTRYPOINT []
CMD ["mailroom"]

34 changes: 34 additions & 0 deletions rp-archiver.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FROM debian:stretch-slim

# Install ca-certificates so HTTPS works in general
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*

RUN addgroup --system rp_archiver; \
adduser --system --ingroup rp_archiver rp_archiver

ARG RP_ARCHIVER_REPO
ENV RP_ARCHIVER_REPO=${RP_ARCHIVER_REPO:-nyaruka/rp-archiver}
ARG RP_ARCHIVER_VERSION
ENV RP_ARCHIVER_VERSION=${RP_ARCHIVER_VERSION:-1.0.23}

RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \
\
wget -O rp-archiver.tar.gz "https://github.com/$RP_ARCHIVER_REPO/releases/download/v${RP_ARCHIVER_VERSION}/rp-archiver_${RP_ARCHIVER_VERSION}_linux_amd64.tar.gz"; \
mkdir /usr/local/src/rp-archiver; \
tar -xzC /usr/local/src/rp-archiver -f rp-archiver.tar.gz; \
\
# Just grab the binary and ignore the other packaged files
mv /usr/local/src/rp-archiver/rp-archiver /usr/local/bin/; \
rm -rf /usr/local/src/rp-archiver rp-archiver.tar.gz; \
\
apt-get purge -y --auto-remove wget

USER rp_archiver
EXPOSE 8080
CMD ["rp-archiver"]
ENTRYPOINT []
35 changes: 35 additions & 0 deletions rp-indexer.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM debian:stretch-slim

RUN set -ex; \
addgroup --system rp_indexer; \
adduser --system --ingroup rp_indexer rp_indexer

# Install ca-certificates so HTTPS works in general
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*

ARG RP_INDEXER_REPO
ENV RP_INDEXER_REPO=${RP_INDEXER_REPO:-nyaruka/rp-indexer}
ARG RP_INDEXER_VERSION
ENV RP_INDEXER_VERSION=${RP_INDEXER_VERSION:-1.0.23}

RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \
\
wget -O rp-indexer.tar.gz "https://github.com/$RP_INDEXER_REPO/releases/download/v${RP_INDEXER_VERSION}/rp-indexer_${RP_INDEXER_VERSION}_linux_amd64.tar.gz"; \
mkdir /usr/local/src/rp-indexer; \
tar -xzC /usr/local/src/rp-indexer -f rp-indexer.tar.gz; \
\
# Just grab the binary and ignore the other packaged files
mv /usr/local/src/rp-indexer/rp-indexer /usr/local/bin/; \
rm -rf /usr/local/src/rp-indexer rp-indexer.tar.gz; \
\
apt-get purge -y --auto-remove wget

EXPOSE 8080
USER rp_indexer
ENTRYPOINT []
CMD ["rp-indexer"]