WebArena-ShopSmart / docker-compose.yml
Jack
Initial release
1067b6f
services:
db:
image: mysql:8.0
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: onestopshop
MYSQL_USER: app
MYSQL_PASSWORD: app
ports:
- "3307:3306"
volumes:
- db_data:/var/lib/mysql
- ./db/seed:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD --silent"]
interval: 5s
timeout: 5s
retries: 30
web:
build:
context: .
dockerfile: Dockerfile
depends_on:
db:
condition: service_healthy
environment:
NODE_ENV: development
DATABASE_URL: ${DATABASE_URL:-mysql://app:app@db:3306/onestopshop}
NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL:-http://localhost:3000}
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:-}
CLERK_SECRET_KEY: ${CLERK_SECRET_KEY:-}
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY:-}
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY:-}
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET:-}
UPLOADTHING_SECRET: ${UPLOADTHING_SECRET:-}
UPLOADTHING_APP_ID: ${UPLOADTHING_APP_ID:-}
ports:
- "3000:3000"
command: sh -lc "npm install --legacy-peer-deps && npm run dev"
volumes:
- .:/app
- /app/node_modules
- /app/.next
volumes:
db_data: