Added new paint service stack to the docker-compose infrastructure: - **Paint stack** (paint.pivoine.art): - miniPaint: Web-based image editor built from GitHub - Multi-stage Docker build clones from https://github.com/viliusle/miniPaint - Features: layers, filters, drawing tools, text, shapes support - Client-side processing with no server uploads - Stateless architecture (no backups needed) Infrastructure updates: - Created paint/compose.yaml with Traefik routing and SSL - Created paint/Dockerfile with Node.js build stage and nginx serve - Added PAINT environment variables to arty.yml - Updated compose.yaml include list - Updated CLAUDE.md documentation All services integrated with Traefik for SSL termination and include Watchtower auto-update labels. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
24 lines
510 B
Docker
24 lines
510 B
Docker
# Build miniPaint from GitHub repository
|
|
FROM node:18-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Clone the repository
|
|
RUN apk add --no-cache git && \
|
|
git clone https://github.com/viliusle/miniPaint.git . && \
|
|
npm install && \
|
|
npm run build
|
|
|
|
# Production stage with nginx
|
|
FROM nginx:alpine
|
|
|
|
# Copy built files from builder
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
|
|
# Copy nginx configuration if needed
|
|
COPY --from=builder /app /usr/share/nginx/html
|
|
|
|
EXPOSE 80
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|