| | 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 |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |