services: caddy: image: caddy:latest ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config depends_on: - flask - wekan - mattermost networks: - gesthub flask: build: ./web environment: - DB_HOST=mariadb - DB_USER=flaskuser - DB_PASSWORD=flaskpass - DB_NAME=flaskdb extra_hosts: - "keycloak.localhost:172.18.0.10" depends_on: - mariadb volumes: - ./web:/app networks: - gesthub mariadb: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=rootpass - MYSQL_DATABASE=flaskdb - MYSQL_USER=flaskuser - MYSQL_PASSWORD=flaskpass volumes: - mariadb_data:/var/lib/mysql networks: - gesthub wekan: image: wekanteam/wekan environment: - MONGO_URL=mongodb://mongo:27017/wekan - ROOT_URL=https://wekan.gesthub depends_on: - mongo networks: - gesthub mongo: image: mongo:latest volumes: - mongo_data:/data/db networks: - gesthub mattermost: image: mattermost/mattermost-team-edition:latest ports: - "8065:8065" environment: - MM_SQLSETTINGS_DRIVERNAME=postgres - MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuserpass@db:5432/mattermost?sslmode=disable - MM_SERVICESETTINGS_SITEURL=http://chat.gesthub depends_on: - db volumes: - mattermost_data:/mattermost/data networks: - gesthub db: image: postgres:13 environment: - POSTGRES_DB=mattermost - POSTGRES_USER=mmuser - POSTGRES_PASSWORD=mmuserpass volumes: - postgres_data:/var/lib/postgresql/data networks: - gesthub keycloak: image: quay.io/keycloak/keycloak:22.0.5 command: start-dev environment: - KEYCLOAK_ADMIN=admin - KEYCLOAK_ADMIN_PASSWORD=admin - KC_DB=postgres - KC_DB_URL_HOST=keycloak-db - KC_DB_URL_DATABASE=keycloak - KC_DB_USERNAME=keycloak - KC_DB_PASSWORD=keycloakpass ports: - "8080:8080" depends_on: - keycloak-db volumes: - keycloak_data:/opt/keycloak/data networks: - gesthub keycloak-db: image: postgres:13 environment: - POSTGRES_DB=keycloak - POSTGRES_USER=keycloak - POSTGRES_PASSWORD=keycloakpass volumes: - keycloakdb_data:/var/lib/postgresql/data networks: - gesthub networks: gesthub: driver: bridge volumes: caddy_data: caddy_config: mariadb_data: mongo_data: mattermost_data: postgres_data: keycloak_data: keycloakdb_data: