name: repuve-backend-qa services: repuve-backend: container_name: backend-qa build: context: ../../ dockerfile: Docker/QA/dockerfile working_dir: /var/www/repuve-backend-v1 environment: - APP_ENV=qa - APP_DEBUG=true - APP_KEY=${APP_KEY} - DB_HOST=${DB_HOST} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_DATABASE=${DB_DATABASE} - DB_PORT=${DB_PORT} volumes: - ../../storage:/var/www/repuve-backend-v1/storage networks: - repuve-qa-network mem_limit: 256M restart: unless-stopped depends_on: qa-mysql: condition: service_healthy nginx: container_name: repuve-nginx-qa image: nginx:alpine ports: - "${NGINX_PORT}:80" volumes: - ../../public:/var/www/repuve-backend-v1/public - ../../storage:/var/www/repuve-backend-v1/storage - ./nginx.conf:/etc/nginx/nginx.conf - /var/log/nginx:/var/log/nginx logging: driver: "local" options: max-size: "50m" max-file: "10" networks: - repuve-qa-network mem_limit: 128M restart: unless-stopped depends_on: - repuve-backend qa-mysql: container_name: repuve-mysql-qa image: mysql:8.0 environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_USER: ${DB_USERNAME} ports: - "${DB_PORT_FORWARD}:3306" volumes: - qa_mysql_data:/var/lib/mysql networks: - repuve-qa-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 mem_limit: 256M restart: unless-stopped alloy: image: grafana/alloy:latest command: - run - /etc/alloy/config.alloy - --server.http.listen-addr=0.0.0.0:12345 ports: - "12346:12345" volumes: - ./config.alloy:/etc/alloy/config.alloy - ../../storage/logs:/var/log/repuve:ro networks: - repuve-qa-network restart: unless-stopped depends_on: - repuve-backend - loki loki: image: grafana/loki:latest user: "0" ports: - "3200:3100" volumes: - ./loki-config.yml:/etc/loki/local-config.yaml - qa_loki_data:/loki command: -config.file=/etc/loki/local-config.yaml networks: - repuve-qa-network restart: unless-stopped grafana: image: grafana/grafana:latest ports: - "8701:3000" environment: - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer volumes: - qa_grafana_data:/var/lib/grafana - ./grafana/provisioning:/etc/grafana/provisioning networks: - repuve-qa-network restart: unless-stopped depends_on: - loki networks: repuve-qa-network: driver: bridge volumes: qa_mysql_data: qa_loki_data: driver: local qa_grafana_data: driver: local