services: app: build: . environment: PORT: 3000 NODE_ENV: development DATABASE_URL: mysql://smm:smm_password@db:3306/smm JWT_SECRET: replace_this_with_a_long_random_secret_32_chars_min PROVIDER_API_URL: https://provider.example/api/v2 PROVIDER_API_KEY: replace_with_provider_key DEFAULT_MARKUP_PERCENT: 25 ENABLE_JOBS: "false" ORDER_STATUS_INTERVAL_MS: 300000 WALLET_RECONCILIATION_INTERVAL_MS: 86400000 ports: - "3000:3000" depends_on: db: condition: service_healthy healthcheck: test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"] interval: 10s timeout: 5s retries: 10 db: image: mariadb:11 environment: MARIADB_DATABASE: smm MARIADB_USER: smm MARIADB_PASSWORD: smm_password MARIADB_ROOT_PASSWORD: root_password ports: - "3306:3306" volumes: - smm_db_data:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 5s timeout: 5s retries: 20 volumes: smm_db_data: