Open Easypanel templates
Self-hosted PaaS guide using Easypanel app services, PostgreSQL, and the
Manifest Docker image.
Overview
Easypanel can run Manifest as a Docker image app service, proxy the dashboard over HTTPS, and provision PostgreSQL in the same project. The Manifest repository includes Easypanel template files that provision the app, database, generated secrets, and proxy port. Until that template is accepted into the Easypanel catalog, you can create the same services manually.Prerequisites
- A self-hosted Easypanel instance.
- A project with a server destination.
- A domain or generated Easypanel domain for the app.
Template deploy
If Manifest is available in your Easypanel template catalog:- Open your Easypanel project.
- Choose Templates.
- Search for Manifest.
- Keep the default image
manifestdotbuild/manifest:6unless you need another version. - Deploy the template.
2099.
Manual deploy
Create a PostgreSQL service namedmanifest-db, then create an App service from Docker image manifestdotbuild/manifest:6. Set the proxy port to 2099, add a domain, and mark it as the primary domain.
Set the Manifest environment:
openssl rand -hex 32. Use an alphanumeric or hex PostgreSQL password in DATABASE_URL. If your password contains URL-reserved characters such as @, :, /, %, or #, percent-encode them before pasting the connection string.
AUTH_DB_POOL_MAX is read by Manifest’s Better Auth database pool. Set MANIFEST_TELEMETRY_DISABLED=1 if you want to disable anonymous self-hosted telemetry.
Open Manifest
Open the Easypanel domain and create the first admin account. Fresh installs redirect to/setup; the first account you create becomes the admin.
Verify the deployment:
Smoke test checklist
Before submitting a template upstream, verify:- The app starts cleanly.
- PostgreSQL connection and migrations succeed.
/api/v1/healthreturns OK./setupopens on the generated domain.- First admin account creation works.
- Login works on the Easypanel domain without an invalid-origin error.
- Restarting the app and database keeps data persisted in PostgreSQL.
Production notes
- Back up the PostgreSQL service through Easypanel or your server provider.
- Use a real HTTPS domain before enabling OAuth providers.
- Keep
BETTER_AUTH_SECRETandMANIFEST_ENCRYPTION_KEYas separate values. - If you deploy more than one Manifest replica, lower database pool sizes or upgrade PostgreSQL connection capacity.