n8n-saas-marketplace/docker-compose.yml
SamoilenkoVadym 441f0a81a8
Some checks failed
Deploy to Production / Deploy to Production (push) Has been cancelled
feat: configure services for external access via static IP
- Update Docker port bindings to listen on 0.0.0.0 for external access
- Configure CORS to allow multiple origins (local and external IPs)
- Update frontend to run on all interfaces (0.0.0.0:3001)
- Set frontend URL to static IP 83.151.203.105:3001

Changes:
- docker-compose.yml: Bind postgres, n8n, backend to 0.0.0.0
- backend CORS: Allow localhost, 192.168.1.180, and 83.151.203.105
- frontend: Run on 0.0.0.0:3001 for external accessibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 13:55:51 +01:00

104 lines
No EOL
2.8 KiB
YAML

version: '3.8'
services:
postgres:
image: postgres:16-alpine
container_name: n8n_marketplace_postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: n8n_marketplace
ports:
- "0.0.0.0:5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- n8n_marketplace_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: n8n_marketplace_redis
ports:
- "127.0.0.1:6379:6379"
networks:
- n8n_marketplace_network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
n8n:
image: n8nio/n8n:latest
container_name: n8n_marketplace_n8n
ports:
- "0.0.0.0:5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n_marketplace
- DB_POSTGRESDB_USER=postgres
- DB_POSTGRESDB_PASSWORD=postgres
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=admin
volumes:
- n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
networks:
- n8n_marketplace_network
backend:
image: node:20-alpine
container_name: n8n_marketplace_backend
working_dir: /app
volumes:
- ./backend:/app
ports:
- "0.0.0.0:4000:4000"
environment:
# Application Configuration
- NODE_ENV=development
- PORT=4000
- DATABASE_URL=postgresql://postgres:postgres@postgres:5432/marketplace?schema=public
- REDIS_HOST=redis
- REDIS_PORT=6379
- FRONTEND_URL=http://83.151.203.105:3001
# Security Keys (set in docker-compose.override.yml)
- JWT_SECRET=${JWT_SECRET:-change-this-secret}
- JWT_EXPIRES_IN=7d
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-change-this-64-char-hex-key}
# Stripe Configuration (set in docker-compose.override.yml)
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY:-sk_test_your_key}
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET:-whsec_your_secret}
# Azure OpenAI Configuration (set in docker-compose.override.yml)
- AZURE_OPENAI_ENDPOINT=https://aipmress-ai-n8n.openai.azure.com
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-your_azure_openai_key}
- AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o
command: sh -c "npm install && npx prisma generate && npm run dev"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
networks:
- n8n_marketplace_network
volumes:
postgres_data:
n8n_data:
networks:
n8n_marketplace_network:
driver: bridge