services: mysql: image: mysql:8.4 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: $DB_PASSWORD MYSQL_DATABASE: bugsink volumes: - my-datavolume:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "exit | mysql -h localhost -P 3306 -u root -p$$MYSQL_ROOT_PASSWORD" ] # 'exit |' closes the MySQL input prompt interval: 1s timeout: 20s retries: 30 web: image: bugsink/bugsink depends_on: mysql: condition: service_healthy restart: unless-stopped ports: - "8000" environment: SECRET_KEY: "${SECRET_KEY}" CREATE_SUPERUSER: admin:${ADMIN_PASSWORD} PORT: 8000 DATABASE_URL: mysql://root:${DB_PASSWORD}@mysql:3306/bugsink BASE_URL: http://${MAIN_DOMAIN} healthcheck: test: ["CMD-SHELL", "python -c 'import requests; requests.get(\"http://localhost:8000/\").raise_for_status()'"] interval: 5s timeout: 20s retries: 10 volumes: my-datavolume: