services: flask: build: ./web environment: - DB_HOST=mariadb - DB_USER=flaskuser - DB_PASSWORD=flaskpass - DB_NAME=flaskdb depends_on: - mariadb volumes: - ./web:/app ports: - "5000:5000" 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 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=https://mattermost.ninolbt.com 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 - --hostname=keycloak.ninolbt.com - --hostname-strict=false - --hostname-strict-https=false - --proxy=edge 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: - "8081: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: mariadb_data: mattermost_data: postgres_data: keycloak_data: keycloakdb_data: