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: - backend flask: build: ./web environment: - DB_HOST=mariadb - DB_USER=flaskuser - DB_PASSWORD=flaskpass - DB_NAME=flaskdb depends_on: - mariadb - keycloak volumes: - ./web:/app networks: - backend 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: - backend wekan: image: wekanteam/wekan environment: - MONGO_URL=mongodb://mongo:27017/wekan - ROOT_URL=https://wekan.gesthub depends_on: - mongo networks: - backend mongo: image: mongo:latest volumes: - mongo_data:/data/db networks: - backend 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: - backend db: image: postgres:13 environment: - POSTGRES_DB=mattermost - POSTGRES_USER=mmuser - POSTGRES_PASSWORD=mmuserpass volumes: - postgres_data:/var/lib/postgresql/data networks: - backend 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 - KC_HOSTNAME=keycloak - KC_HTTP_ENABLED=true - KC_HOSTNAME_STRICT=false - KC_HOSTNAME_STRICT_HTTPS=false - KC_PROXY=edge ports: - "8080:8080" depends_on: - keycloak-db volumes: - keycloak_data:/opt/keycloak/data networks: - backend keycloak-db: image: postgres:13 environment: - POSTGRES_DB=keycloak - POSTGRES_USER=keycloak - POSTGRES_PASSWORD=keycloakpass volumes: - keycloakdb_data:/var/lib/postgresql/data networks: - backend volumes: caddy_data: caddy_config: mariadb_data: mongo_data: mattermost_data: postgres_data: keycloak_data: keycloakdb_data: networks: backend: