version: "3.8" services: app: build: context: . dockerfile: Dockerfile args: - MONGODB_URI=${MONGODB_URI} container_name: stripstream-app ports: - "3020:3000" volumes: - ./src:/app/src - ./public:/app/public - ./package.json:/app/package.json - ./pnpm-lock.yaml:/app/pnpm-lock.yaml - ./tsconfig.json:/app/tsconfig.json - ./tailwind.config.ts:/app/tailwind.config.ts - ./postcss.config.js:/app/postcss.config.js - ./next.config.js:/app/next.config.js - /app/node_modules - /app/.next - pnpm_store:/app/.pnpm-store environment: - NODE_ENV=development - MONGO_USER=admin - MONGO_PASSWORD=password123 - MONGODB_URI=mongodb://admin:password123@mongodb:27017/stripstream?authSource=admin - PNPM_HOME=/app/.pnpm-store - WATCHPACK_POLLING=true - NEXTAUTH_SECRET=${NEXTAUTH_SECRET} - NEXTAUTH_URL=${NEXTAUTH_URL} command: sh -c "pnpm config set store-dir /app/.pnpm-store && pnpm install --frozen-lockfile && pnpm dev" mongodb: image: mongo:latest container_name: stripstream_mongodb restart: always environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: password123 MONGO_INITDB_DATABASE: stripstream ports: - "27017:27017" volumes: - mongodb_data:/data/db - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro volumes: mongodb_data: pnpm_store: