version: "3" services: nextjs-app: image: node:20.11.0-alpine ports: - "3000:3000" working_dir: /app volumes: - /mnt/docker_volumes/pw/app:/app environment: - NODE_ENV=production - DATABASE_URL=mysql://jwpwsofia:dwxhns9p9vp248V39xJyRthUsZ2gR9@mariadb:3306/jwpwsofia command: /bin/sh -c "npm install && npm install -g dotenv-cli next && npx prisma generate && next dev; tail -f /dev/null" # Install dependencies and start the app #command: sh -c " cd /app && npm run prod; tail -f /dev/null" #HOST: fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # apk add git && rm -rf /tmp/clone && git clone --depth 1 https://git.d-popov.com/popov/next-cart-app.git /tmp/clone # cp -R /tmp/clone/next-cart-app/* /app/ # rm -rf /tmp/clone # npm cache clean --force && rm -rf /app/node_modules /app/package-lock.json # npm --silent --prefix /app install /app && npx --prefix /app prisma generate && npm --prefix /app run test; tail -f /dev/null tty: true stdin_open: true mariadb: image: mariadb:10.6 environment: MYSQL_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262 MYSQL_DATABASE: jwpwsofia MYSQL_USER: jwpwsofia MYSQL_PASSWORD: dwxhns9p9vp248V39xJyRthUsZ2gR9 ports: - "3306:3306" volumes: - /mnt/docker_volumes/pw/data/mysql:/var/lib/mysql volumes: nextjs-app-data: mysql-data: