Files
modoboa/docker-compose.yml
T

146 lines
3.2 KiB
YAML

services:
redis:
image: redis:7-alpine
ports:
- 6379:6379
command: redis-server --save 60 1 --loglevel warning
volumes:
- ./docker/redis:/data
ldap:
image: docker.pkg.github.com/modoboa/docker-openldap/docker-openldap
ports:
- 389/tcp
environment:
LDAP_DOMAIN: example.com
LDAP_ADMIN_PASSWORD: test
profiles: [ldap]
rq:
build:
context: .
dockerfile: docker/Dockerfile.dev
environment:
DB: "SQLITE"
DEBUG: 1
REDIS_HOST: redis
PYTHONPATH: ".."
PYTHONUNBUFFERED: 1
command: >
sh -c "cd test_project; python3 manage.py rqworker dkim modoboa"
volumes:
- .:/code
api:
container_name: modoboa_api
restart: unless-stopped
build:
context: .
dockerfile: docker/Dockerfile.dev
ports:
- 8000:8000
env_file:
- test_project/oidc_key
- test_project/envfile
environment:
DB: "SQLITE"
DEBUG: 1
REDIS_HOST: redis
PYTHONPATH: ".."
PYTHONUNBUFFERED: 1
command: >
sh -c "cd test_project
python3 manage.py migrate
python3 manage.py load_initial_data --dev
django-admin compilemessages
python3 manage.py runserver_plus 0.0.0.0:8000 --cert-file cert.crt"
depends_on:
- radicale
volumes:
- .:/code
networks:
- default
api-unsecured:
container_name: modoboa_api_unsecured
restart: unless-stopped
build:
context: .
dockerfile: docker/Dockerfile.dev
ports:
- 8001:8001
env_file:
- test_project/oidc_key
environment:
DB: "SQLITE"
DEBUG: 0
REDIS_HOST: redis
PYTHONPATH: ".."
PYTHONUNBUFFERED: 1
command: >
sh -c "cd test_project
python3 manage.py runserver_plus 0.0.0.0:8001"
depends_on:
- radicale
volumes:
- .:/code
front:
container_name: modoboa_front
restart: unless-stopped
build:
context: .
dockerfile: docker/Dockerfile.front.dev
ports:
- 3000:3000
volumes:
- ./frontend/:/home/node/
command: >
sh -c "yarn install
yarn dev --host"
environment:
DOCKER: "yes"
depends_on:
- api
dovecot:
container_name: modoboa_dovecot
restart: unless-stopped
image: dovecot/dovecot:2.3-latest
depends_on:
- api
volumes:
- ./docker/dovecot_config:/etc/dovecot/conf.d
radicale:
container_name: modoboa_radicale
restart: unless-stopped
build:
context: .
dockerfile: docker/Dockerfile.radicale.dev
volumes:
- ./docker/radicale_config:/etc/radicale
- ./docker/collections:/collections
policyd:
container_name: modoboa_policyd
restart: unless-stopped
build:
context: .
dockerfile: docker/Dockerfile.dev
ports:
- 9999:9999
env_file:
- test_project/oidc_key
environment:
DB: "SQLITE"
DEBUG: 1
REDIS_HOST: redis
PYTHONPATH: ".."
PYTHONUNBUFFERED: 1
command: >
sh -c "cd test_project
python3 manage.py policy_daemon --host 0.0.0.0 --port 9999 --debug"
volumes:
- .:/code