Deploy on Render.com (Full Guide)
Render.com is one of the fastest and most cost-effective cloud platforms for hosting EasyEA directly from the official Docker image (ghcr.io/lhackyup/easy-ea:latest) without managing servers.
This guide walks you through automated deployment via Blueprint (render.yaml), manual setup via the Render dashboard, and connecting a free permanent PostgreSQL database (such as Neon.tech or Supabase).
1. Automated Deployment with Blueprint (render.yaml)
Download the official render.yaml file and commit it to a GitHub repository to deploy the entire stack in one click:
services: - type: web name: easyea-app runtime: image image: url: ghcr.io/lhackyup/easy-ea:latest plan: free region: frankfurt envVars: - key: PORT value: 8000 - key: EASYEA_ENV value: production - key: EASYEA_SECRET_KEY generateValue: true - key: EASYEA_SEED_DEMO_USERS value: "false" - key: EASYEA_RBAC_MODE value: hybrid - key: DATABASE_URL fromDatabase: name: easyea-postgres property: connectionString
databases: - name: easyea-postgres databaseName: easyea_db user: easyea_user plan: free region: frankfurt2. Manual Setup via Render Dashboard
- Create a PostgreSQL Database:
- In the Render Dashboard, click New + ➔ PostgreSQL (
easyea-postgres, regionFrankfurt). - Copy the Internal Database URL.
- In the Render Dashboard, click New + ➔ PostgreSQL (
- Create the EasyEA Web Service:
- Click New + ➔ Web Service ➔ Deploy an existing image from a registry.
- Enter the image URL:
ghcr.io/lhackyup/easy-ea:latest.
- Configure Environment Variables:
| Variable | Recommended Value | Description |
|---|---|---|
PORT | 8000 | Internal port exposed by Uvicorn/FastAPI. |
DATABASE_URL | postgresql://... | Connection string from PostgreSQL. |
EASYEA_ENV | production | Enables production security settings. |
EASYEA_SECRET_KEY | (Random 32+ char string) | Secret key used to sign JWT tokens. |
EASYEA_RBAC_MODE | hybrid (or strict) | hybrid allows read-only browsing and requires auth for edits; strict enforces auth on all routes. |
EASYEA_SEED_DEMO_USERS | false | Set to true only if you want demo accounts seeded on first boot. |
3. Free Permanent Persistence with Neon.tech or Supabase
To run a 100% free, non-expiring EasyEA instance:
- Create a free PostgreSQL database on Neon.tech (AWS Europe Frankfurt region) or Supabase.
- Copy the PostgreSQL connection string (ending with
?sslmode=require):postgresql://<user>:<password>@ep-xyz.eu-central-1.aws.neon.tech/neondb?sslmode=require - In the Render dashboard for
easyea-app➔ Environment, replaceDATABASE_URLwith your Neon.tech connection string and save.