Docs/Architecture/Deployment Architecture

Architecture

Deployment Architecture

How to deploy EasyFlow for a public demo or self-hosted business setup, and what each service does.

Recommended demo architecture

For a beginner-friendly public demo, the simplest architecture is one VM running the full stack with Docker Compose. This keeps cost at zero on Oracle Always Free and avoids complicated multi-service hosting.

text
Internet
   ↓
EasyFlow web (Next.js)      :3000
EasyFlow API (FastAPI)      :8000
n8n                         :5678
RabbitMQ                    :5672 / :15672
Postgres                    internal Docker network

What runs where

ServicePurposeWhy it exists
webFrontend product UILanding page, dashboards, workflow canvas, settings, docs
apiBackend business logicAccess control, tenants, workflows, connectors, webhooks
postgresDatabaseStores tenant, user, workflow, and integration data
rabbitmqAsync messagingMoves events from API to worker-style processing paths
n8nIntegration automationPulls from ERP APIs and pushes normalised events to EasyFlow

Public URLs for a demo

  • EasyFlow app: http://YOUR_SERVER_IP:3000
  • API health check: http://YOUR_SERVER_IP:8000/health
  • n8n: http://YOUR_SERVER_IP:5678
  • RabbitMQ management: http://YOUR_SERVER_IP:15672

Free Oracle VM path

If you want a completely free demo, Oracle Cloud Always Free is the easiest choice. One Ubuntu VM can host the whole stack. Create the VM, open the ports, copy the project, set the .env values, and run docker compose up -d --build.

✦Use the DEPLOY_ORACLE_FREE.md guide in the repo for the exact step-by-step commands. It is the fastest path to getting a public demo live.

What to harden later

  • Add HTTPS with a reverse proxy such as Caddy or Nginx
  • Move from raw server IP to a proper domain
  • Set strong secrets for auth and webhooks
  • Restrict public ports you do not need
  • Back up the Postgres volume regularly