work

Deploy Openpeople HR in one click

Keep everything about your people in one place: profiles, time off, timesheets, hiring, onboarding, benefits, performance, and reports. Open-source HR for small and mid-sized teams in the United States and Canada. A self-hosted alternative to BambooHR, without payroll: it exports what your payroll or accounting software needs.

TemplatesOpenpeople HR

Openpeople HR screenshot

Deploy

What gets deployed

Pulls the prebuilt ghcr.io/stackblaze-adam/openpeople-hr image. There is nothing to fill in before you deploy. On the first start the app creates its tables; then open the app's address and a short setup asks for your company (name, country, time zone, language), your name, work email and password, optional two-step login (an authenticator app or a passkey), and whether to start empty or with the Northwind Studio demo company. That first account becomes the workspace owner, and the setup page is gone for good. Open it soon after deploying: until then whoever opens the address first can claim it (set OPENPEOPLE_SETUP_CODE to have the setup ask for a code first). Postgres 16 is created with the app, and uploaded documents persist on the 5 GiB data volume. OPENPEOPLE_SECRET_ENCRYPTION_KEY is generated once and encrypts bank and identity numbers: copy it somewhere safe and never change it once people have been added. Email goes out through the platform's Email add-on when it is on; until then email waits in Settings, Email. Scheduled jobs (accruals, reminders) run inside the app. Load demo data preselects the demo company in the setup's last step; its logins share the owner's password, so leave it off for real use.

This stack

Web

Openpeople HR server

PostgreSQL

managed database · TCP:5432

Email

managed other · TCP:587

Pulls the prebuilt ghcr.io/stackblaze-adam/openpeople-hr image. There is nothing to fill in before you deploy. On the first start the app creates its tables; then open the app's address and a short setup asks for your company (name, country, time zone, language), your name, work email and password, optional two-step login (an authenticator app or a passkey), and whether to start empty or with the Northwind Studio demo company. That first account becomes the workspace owner, and the setup page is gone for good. Open it soon after deploying: until then whoever opens the address first can claim it (set OPENPEOPLE_SETUP_CODE to have the setup ask for a code first). Postgres 16 is created with the app, and uploaded documents persist on the 5 GiB data volume. OPENPEOPLE_SECRET_ENCRYPTION_KEY is generated once and encrypts bank and identity numbers: copy it somewhere safe and never change it once people have been added. Email goes out through the platform's Email add-on when it is on; until then email waits in Settings, Email. Scheduled jobs (accruals, reminders) run inside the app. Load demo data preselects the demo company in the setup's last step; its logins share the owner's password, so leave it off for real use.

After you deploy

Pulls the prebuilt ghcr.io/stackblaze-adam/openpeople-hr image. There is nothing to fill in before you deploy. On the first start the app creates its tables; then open the app's address and a short setup asks for your company (name, country, time zone, language), your name, work email and password, optional two-step login (an authenticator app or a passkey), and whether to start empty or with the Northwind Studio demo company. That first account becomes the workspace owner, and the setup page is gone for good. Open it soon after deploying: until then whoever opens the address first can claim it (set OPENPEOPLE_SETUP_CODE to have the setup ask for a code first). Postgres 16 is created with the app, and uploaded documents persist on the 5 GiB data volume. OPENPEOPLE_SECRET_ENCRYPTION_KEY is generated once and encrypts bank and identity numbers: copy it somewhere safe and never change it once people have been added. Email goes out through the platform's Email add-on when it is on; until then email waits in Settings, Email. Scheduled jobs (accruals, reminders) run inside the app. Load demo data preselects the demo company in the setup's last step; its logins share the owner's password, so leave it off for real use.

Reference

Environment variables

Set at deploy. Empty values are yours to fill.

VariableDescriptionRequired
DATABASE_URLDefault: postgresql://$(PGUSER):$(PGPASSWORD)@$(PGHOST):$(PGPORT)/$(PGDATABASE)?sslmode=disableOptional
OPENPEOPLE_APP_URLDefault: {{KUBERO_APP_URL}}Optional
OPENPEOPLE_SECRET_ENCRYPTION_KEYDefault: {{KUBERO_GEN_ALNUM:64}}Optional
OPENPEOPLE_TRUSTED_PROXIESDefault: 1Optional
OPENPEOPLE_DATA_DIRDefault: /dataOptional
OPENPEOPLE_ALLOW_SIGNUPDefault: 0Optional
STACKBLAZE_LOAD_DEMO_DATADefault: falseOptional

Environment variables · Persistent disks · Custom domains

Ready to deploy Openpeople HR?

One click. Dependencies pre-wired. No infrastructure to manage.

One-click deploy
Managed databases
Persistent disks
Custom domains
Env vars