All checks were successful
Build and Push Docker Images / docker (push) Successful in 23s
Fix for "Missing credentials for PLAIN" error when sending emails. The backend container was missing SMTP configuration environment variables, causing nodemailer authentication to fail. Added SMTP variables to docker-compose.yml: - SMTP_HOST, SMTP_PORT, SMTP_SECURE - SMTP_USER, SMTP_PASSWORD - SMTP_FROM_NAME, SMTP_FROM_EMAIL 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
68 lines
1.9 KiB
YAML
68 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Frontend - Vite React App (static files served by host Nginx)
|
|
web:
|
|
image: code.puffinoffset.com/matt/puffin-app:frontend-latest
|
|
container_name: puffin-frontend
|
|
ports:
|
|
- "3800:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- VITE_API_BASE_URL=${VITE_API_BASE_URL:-https://api.puffinoffset.com}
|
|
- VITE_WREN_API_TOKEN=${VITE_WREN_API_TOKEN}
|
|
- VITE_FORMSPREE_CONTACT_ID=${VITE_FORMSPREE_CONTACT_ID}
|
|
- VITE_FORMSPREE_OFFSET_ID=${VITE_FORMSPREE_OFFSET_ID}
|
|
- VITE_STRIPE_PUBLISHABLE_KEY=${VITE_STRIPE_PUBLISHABLE_KEY}
|
|
restart: unless-stopped
|
|
networks:
|
|
- puffin-network
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
|
|
# Backend - Express API Server
|
|
backend:
|
|
image: code.puffinoffset.com/matt/puffin-app:backend-latest
|
|
container_name: puffin-backend
|
|
ports:
|
|
- "3801:3001"
|
|
volumes:
|
|
- puffin-data:/app/data
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3001
|
|
- FRONTEND_URL=${FRONTEND_URL:-https://puffinoffset.com}
|
|
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
|
|
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
|
|
- WREN_API_TOKEN=${WREN_API_TOKEN}
|
|
- WREN_DRY_RUN=${WREN_DRY_RUN:-false}
|
|
- DATABASE_PATH=/app/data/orders.db
|
|
- SMTP_HOST=${SMTP_HOST}
|
|
- SMTP_PORT=${SMTP_PORT}
|
|
- SMTP_SECURE=${SMTP_SECURE}
|
|
- SMTP_USER=${SMTP_USER}
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
- SMTP_FROM_NAME=${SMTP_FROM_NAME}
|
|
- SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
|
|
dns:
|
|
- 8.8.8.8
|
|
- 8.8.4.4
|
|
networks:
|
|
- puffin-network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
networks:
|
|
puffin-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
puffin-data:
|
|
driver: local
|