Cloud Deployment on Render.com ​
If you wish to host AgriReg in the cloud easily, the officially recommended and supported platform is Render.com.
AgriReg is 100% free and open-source. Using the software itself carries no licensing fees. However, your monthly operational costs will depend entirely on the hardware resources (CPU, RAM, database) you choose to allocate on Render.com and the deployment tier you select (ranging from the Free Tier to dedicated paid plans for larger farm operations).
WARNING
Important limitations of Render.com free plans:
- PostgreSQL Database Expiration (Free Tier): PostgreSQL databases on Render's free tier expire after 90 days (about 3 months) from creation. Once expired, the free database is suspended and subsequently deleted (resulting in permanent data loss) unless upgraded to a paid database instance (starting at approx. $7/month).
- Loss of Uploaded Files on Restart (Ephemeral Storage): Render's free web services use an ephemeral filesystem. All files saved locally (such as photos of receipts, attachments, or paper log backups) will be permanently deleted every time the application restarts or is redeployed. You must configure an S3-compatible external object storage service (recommended Cloudflare R2 which offers a generous free tier) to ensure file persistence.
🚀 1-Click Deployment via "Deploy to Render" Button ​
The easiest and most automated method to get AgriReg running on Render.com is by using the official Render Blueprints feature via the 1-Click button.
To do this, we have set up a public GitHub repository containing the render.yaml file directly in the repository root: https://github.com/lhackyup/agrireg-deploy. Since the render.yaml file points to the public image on GitHub Container Registry (ghcr.io/lhackyup/agrireg:latest), it will not expose your application's private source code in any way.
Users can launch the deployment by clicking the button below:
Method 2: Manual Deployment via Dashboard ​
If you prefer to configure the resources individually via the Render graphic user interface:
Create the PostgreSQL Database:
- In the Render dashboard, click New > Database.
- Provide a name (e.g.,
agrireg-db), set the database and user names toagrireg, select your region, and click Create Database. - Keep the database details page open: you will need the connection parameters (Internal Hostname, Port, Database Name, Username, and Password).
Create the Web Service:
- Click New > Web Service.
- Select the option Deploy an existing image.
- Enter the official public Docker image URL for AgriReg:
ghcr.io/lhackyup/agrireg:latestand click Next. - Set a name for the service (e.g.,
agrireg-app) and select the Free plan tier.
Configure Environment Variables:
- Go to the Environment tab of the Web Service and add the following variables:
PORT:8080(the application's internal port)APP_ENV:productionDB_HOST: Enter the Internal Database Name (or internal host) of the database created in step 1.DB_PORT:5432DB_USER: The database username (e.g.,agrireg).DB_PASSWORD: The database password generated by Render.DB_NAME: The database name (e.g.,agrireg).
- Confirm by clicking Create Web Service.
- Go to the Environment tab of the Web Service and add the following variables:
Persistent Storage for Uploads (Required) ​
To prevent data loss for attachments uploaded to AgriReg, add the following environment variables in the Environment tab of your Render Web Service to connect an S3 bucket (recommended Cloudflare R2):
STORAGE_PROVIDER:s3STORAGE_S3_ENDPOINT: Your S3 endpoint (e.g.,https://your-account-id.r2.cloudflarestorage.comfor Cloudflare R2).STORAGE_S3_REGION: Your S3 region (e.g.,autoorus-east-1).STORAGE_S3_BUCKET: The name of the bucket you created.STORAGE_S3_ACCESS_KEY_ID: The API access key.STORAGE_S3_SECRET_ACCESS_KEY: The API secret key.STORAGE_S3_FORCE_PATH_STYLE: Set totrue(required for providers like Cloudflare R2 or MinIO).