version: '3.8' services: # fake-gcs-server - Google Cloud Storage Emulator gcs-emulator: image: fsouza/fake-gcs-server:latest container_name: dbbackup-gcs ports: - "4443:4443" command: -scheme http -public-host localhost:4443 -external-url http://localhost:4443 healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:4443/storage/v1/b"] interval: 5s timeout: 3s retries: 30 networks: - dbbackup-net # PostgreSQL 16 for testing postgres: image: postgres:16-alpine container_name: dbbackup-postgres-gcs environment: POSTGRES_USER: testuser POSTGRES_PASSWORD: testpass POSTGRES_DB: testdb ports: - "5435:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U testuser -d testdb"] interval: 5s timeout: 3s retries: 10 networks: - dbbackup-net # MySQL 8.0 for testing mysql: image: mysql:8.0 container_name: dbbackup-mysql-gcs environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: testdb MYSQL_USER: testuser MYSQL_PASSWORD: testpass ports: - "3309:3306" command: --default-authentication-plugin=mysql_native_password healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-prootpass"] interval: 5s timeout: 3s retries: 10 networks: - dbbackup-net networks: dbbackup-net: driver: bridge