| volumes: |
| mysql_data: |
| services: |
| gemini-balance: |
| image: ghcr.io/snailyp/gemini-balance:latest |
| container_name: gemini-balance |
| restart: unless-stopped |
| ports: |
| - "8000:8000" |
| env_file: |
| - .env |
| depends_on: |
| mysql: |
| condition: service_healthy |
| healthcheck: |
| test: ["CMD-SHELL", "python -c \"import requests; exit(0) if requests.get('http://localhost:8000/health').status_code == 200 else exit(1)\""] |
| interval: 30s |
| timeout: 5s |
| retries: 3 |
| start_period: 10s |
| mysql: |
| image: mysql:8 |
| container_name: gemini-balance-mysql |
| restart: unless-stopped |
| environment: |
| MYSQL_ROOT_PASSWORD: your_root_password |
| MYSQL_DATABASE: ${MYSQL_DATABASE} |
| MYSQL_USER: ${MYSQL_USER} |
| MYSQL_PASSWORD: ${MYSQL_PASSWORD} |
| |
| |
| volumes: |
| - mysql_data:/var/lib/mysql |
| healthcheck: |
| test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] |
| interval: 10s |
| timeout: 5s |
| retries: 3 |
| start_period: 30s |
| |
| |
| |
| |
| |
| |
| |
| |
| |