name: vibe-action-book
services:
builder:
container_name: vibe-action-book-builder
image: rust:slim
working_dir: /build
volumes:
- .:/build
- book-output:/output
command:
- bash
- -c
- |
mkdir -p /output
cat > /output/default.conf << 'EOF'
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $$uri $$uri/ =404;
}
}
EOF
cargo install mdbook
mdbook build --dest-dir /output
book:
container_name: vibe-action-book
image: nginx:stable-alpine
restart: always
ports:
- '3005:80'
volumes:
- book-output:/usr/share/nginx/html:ro
depends_on:
builder:
condition: service_completed_successfully
volumes:
book-output: