41 lines
1.4 KiB
YAML
41 lines
1.4 KiB
YAML
# docker-compose.dev.yml for development
|
|
# This setup runs two services:
|
|
# 1. The Eleventy dev server for live-reloading site changes.
|
|
# 2. The Express API server for the view counter.
|
|
#
|
|
# To start both, run: docker compose -f docker-compose.dev.yml up
|
|
#
|
|
# Your site will be available at http://localhost:8080
|
|
# Your API will be available at http://localhost:3000
|
|
services:
|
|
# This service runs the Eleventy development server.
|
|
eleventy:
|
|
build:
|
|
context: .
|
|
target: development # Use the 'development' stage from the Dockerfile
|
|
container_name: eleventy_dev
|
|
ports:
|
|
- "8080:8080" # Eleventy dev server port
|
|
volumes:
|
|
# Mount the project directory for live-reloading.
|
|
# The anonymous volume for node_modules prevents the local one from overwriting the container's.
|
|
- .:/app
|
|
- /app/node_modules
|
|
# This command runs Eleventy's dev server with file watching.
|
|
command: npm start
|
|
|
|
# This service runs your Express API server.
|
|
api:
|
|
build:
|
|
context: .
|
|
target: development # Use the same 'development' stage
|
|
container_name: api_dev
|
|
ports:
|
|
- "3000:3000" # Express API server port
|
|
- "9229:9229" # Node.js debugger port
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
# Use nodemon to automatically restart the server on file changes.
|
|
command: npx nodemon --inspect=0.0.0.0:9229 src/server.js
|