Moodle Docker Compose File
A docker compose file for self hosting moodle
version: '3'
networks:
web:
external: true
moodle:
services:
mariadb:
container_name: mariadb
hostname: mariadb
image: bitnami/mariadb:latest
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=bn_moodle
- MARIADB_DATABASE=bitnami_moodle
- MARIADB_PASSWORD=bitnami
volumes:
- /home/moodle/mariadb_data:/bitnami/mariadb
networks:
- moodle
moodle:
image: bitnami/moodle:4.4.0
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MOODLE_DATABASE_HOST=mariadb
- MOODLE_DATABASE_PORT_NUMBER=3306
- MOODLE_DATABASE_USER=bn_moodle
- MOODLE_DATABASE_PASSWORD=bitnami
- MOODLE_DATABASE_NAME=bitnami_moodle
labels:
- "traefik.enable=true"
- "traefik.http.routers.moodle.rule=Host(`example.com`)"
- "traefik.http.services.moodle.loadbalancer.server.port=8080"
- "traefik.http.routers.moodle.entrypoints=web,websecure"
- "traefik.http.routers.moodle.tls.certresolver=certificateresolver"
- "traefik.http.routers.moodle.service=moodle"
volumes:
- /home/moodle/moodle_data:/bitnami/moodle
- /home/moodle/moodledata_data:/bitnami/moodledata
depends_on:
- mariadb
networks:
- web
- moodle
vpl:
image: trampgeek/jobeinabox:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.vpl.rule=Host(`vpl.example.com`)"
- "traefik.http.services.vpl.loadbalancer.server.port=80"
- "traefik.http.routers.vpl.entrypoints=web,websecure"
- "traefik.http.routers.vpl.tls.certresolver=certificateresolver"
- "traefik.http.routers.vpl.service=vpl"
networks:
- web