File size: 1,415 Bytes
1067b6f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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: |