version: '3.8' services: portfolio: build: context: . dockerfile: Dockerfile container_name: portfolio ports: - "${PORT:-5000}:${PORT:-5000}" env_file: - .env volumes: - ./app:/app - node_modules:/app/node_modules - vendor:/app/static/vendor # Run `npm install` on every container start so the named volumes # reflect the current package.json (postinstall regenerates vendor/). command: sh -c "npm install --prefix /app --no-audit --no-fund && python app.py" restart: unless-stopped volumes: node_modules: vendor: