services: treasure-api: image: registry.gitlab.com/treasure-hunt4/treasure-api:latest restart: unless-stopped depends_on: - treasure-api-migrate ports: - "8000:80" environment: APP_ENV: production APP_KEY: ${APP_KEY} APP_DEBUG: "false" DB_CONNECTION: mysql DB_HOST: mysql DB_PORT: 3306 DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} treasure-api-migrate: image: registry.gitlab.com/treasure-hunt4/treasure-api:latest restart: "no" depends_on: - mysql environment: APP_ENV: production APP_KEY: ${APP_KEY} DB_CONNECTION: mysql DB_HOST: mysql DB_PORT: 3306 DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} command: ["php", "artisan", "migrate", "--force", "--no-interaction"] mysql: image: mysql:8.0 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - mysql-data:/var/lib/mysql ports: - "3307:3306" # optionnel, juste si tu veux accéder à MySQL depuis l'extérieur volumes: mysql-data: