version: '3.7' services: db: image: ${REGISTRY_PREFIX}sissi_database:${SISSI_VERSION} container_name: ${COMPOSE_PROJECT_NAME}_database restart: always environment: POSTGRES_PASSWORD: ${DATABASE_PASSWORD} POSTGRES_USER: ${DATABASE_USER} ports: - "127.0.0.1:${DATABASE_PORT}:5432" networks: - sissi volumes: - db-data:/var/lib/postgresql/data deployment_container: container_name: ${COMPOSE_PROJECT_NAME}_deployment image: ${REGISTRY_PREFIX}sissi_deployment:${SISSI_VERSION} depends_on: - db environment: DB_PASS: ${DATABASE_PASSWORD} DB_HOST: ${COMPOSE_PROJECT_NAME}_${DATABASE_HOST} DB_PORT: ${DATABASE_PORT} DB_USER: ${DATABASE_USER} DB_NAME: ${DATABASE_NAME} ABSTRACTO_GRAFANA_DB_PASS: ${GRAFANA_DATABASE_PASSWORD} ABSTRACTO_GRAFANA_DB_USER: ${GRAFANA_DATABASE_USER} EXECUTE_DEPLOYMENT: ${EXECUTE_DEPLOYMENT} EXECUTE_LIQUIBASE: ${EXECUTE_LIQUIBASE} EXECUTE_TEMPLATES: ${EXECUTE_TEMPLATES} LIQUIBASE_PATH: ${LIQUIBASE_PATH:-/liquibase} POSTGRES_DRIVER_PATH: ${EXECUTE_DEPLOYMENT:-/postgres/driver.jar} WAIT_HOSTS: ${COMPOSE_PROJECT_NAME}_${DATABASE_HOST}:${DATABASE_PORT} networks: - sissi bot: image: ${REGISTRY_PREFIX}sissi:${SISSI_VERSION} depends_on: - db - deployment_container restart: on-failure container_name: ${COMPOSE_PROJECT_NAME}bot environment: TOKEN: ${TOKEN} REMOTE_DEBUG: ${REMOTE_DEBUG} DB_PASS: ${DATABASE_PASSWORD} DEBRA_DONATION_NOTIFICATION_SERVER_ID: ${DEBRA_DONATION_NOTIFICATION_SERVER_ID} DB_HOST: ${COMPOSE_PROJECT_NAME}_${DATABASE_HOST} DB_PORT: ${DATABASE_PORT} DB_USER: ${DATABASE_USER} DB_NAME: ${DATABASE_NAME} REST_USER_NAME: ${REST_USER_NAME} TZ: "UTC" REST_PASSWORD: ${REST_PASSWORD} YOUTUBE_API_KEY: ${YOUTUBE_API_KEY} OPEN_WEATHER_MAP_API_KEY: ${OPEN_WEATHER_MAP_API_KEY} command: sh -c "while ping -c1 deployment_container &>/dev/null; do sleep 1; done; echo 'Liquibase finished!' && ./start.sh" ports: - "127.0.0.1:${DEBUG_PORT}:5005" - "127.0.0.1:${TOMCAT_PORT}:8080" networks: - sissi volumes: - bot-logs:/logs - ./config:/config pgadmin: container_name: ${COMPOSE_PROJECT_NAME}_pgadmin image: ${REGISTRY_PREFIX}sissi_pg_admin:${SISSI_VERSION} depends_on: - db environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} ports: - "127.0.0.1:${PGADMIN_PORT}:80" restart: unless-stopped networks: - sissi prometheus: container_name: ${COMPOSE_PROJECT_NAME}_prometheus image: ${REGISTRY_PREFIX}sissi_prometheus:${SISSI_VERSION} depends_on: - bot ports: - "127.0.0.1:${PROMETHEUS_PORT}:9090" restart: unless-stopped networks: - sissi volumes: - ./res/prometheus-scrapper-password-filled:/etc/prometheus/micrometer_password - prometheus-data:/prometheus grafana: container_name: ${COMPOSE_PROJECT_NAME}_grafana image: ${REGISTRY_PREFIX}sissi_grafana:${SISSI_VERSION} depends_on: - prometheus - bot ports: - "127.0.0.1:${GRAFANA_PORT}:3000" restart: unless-stopped environment: DB_PASS: ${GRAFANA_DATABASE_PASSWORD} DB_HOST: ${COMPOSE_PROJECT_NAME}_${DATABASE_HOST} DB_PORT: ${DATABASE_PORT} DB_USER: ${GRAFANA_DATABASE_USER} DB_NAME: ${DATABASE_NAME} PROMETHEUS_HOST: '${COMPOSE_PROJECT_NAME}_prometheus' PROMETHEUS_PORT: 9090 LOKI_HOST: '${COMPOSE_PROJECT_NAME}_loki' LOKI_PORT: ${LOKI_PORT} volumes: - grafana-user-data:/var/lib/grafana networks: - sissi promtail: container_name: ${COMPOSE_PROJECT_NAME}_promtail image: ${REGISTRY_PREFIX}sissi_promtail:${SISSI_VERSION} depends_on: - bot restart: unless-stopped command: -config.file=/mnt/config/promtail-config.yaml volumes: - bot-logs:/logs networks: - sissi loki: container_name: ${COMPOSE_PROJECT_NAME}_loki image: ${REGISTRY_PREFIX}sissi_loki:${SISSI_VERSION} depends_on: - promtail command: -config.file=/mnt/config/loki-config.yaml ports: - "127.0.0.1:${LOKI_PORT}:3100" restart: unless-stopped networks: - sissi networks: sissi: driver: bridge name: sissi-network volumes: db-data: grafana-user-data: prometheus-data: bot-logs: