← All resources

Getting started · 6 min read

Install it without a developer

One command, one settings file, no accounts to create. What the Docker route actually involves, and the honest limits of how far it gets you.

There are two ways to install OTG HRMS. The developer route means installing Node.js and PostgreSQL and wiring them together. This is the other one: install Docker Desktop, fill in three values, run one command.

It takes about twenty minutes, most of it waiting for the first build. The step-by-step version — with the exact commands for Windows, Mac and Linux — is docs/install-with-docker.md in the repository. This page is what it involves and whether it will suit you.

What you actually do

  1. 1Install Docker Desktop. Free, from docker.com. Install it like any other application and leave it running.
  2. 2Download the project as a ZIP from GitHub and unzip it.
  3. 3Copy the example settings file to .env — one command.
  4. 4Generate three random secrets and paste them in. One command each, and the guide gives the exact command for your system.
  5. 5Run `docker compose up -d` and wait. First run takes five to fifteen minutes.
  6. 6Open http://localhost:3000 and create your company.

No accounts anywhere. No database to provision, no storage bucket, no API keys. The database runs as a container and uploaded files go to a local folder. Email and receipt OCR are optional extras you can add later or never.

Why this is the honest recommendation

Migrations run automatically when the container boots, so docker compose up -d --build is also the complete upgrade procedure — there is no second step to forget, which is the step people forget.

Everything comes up in a known-good configuration. Most self-hosting failures are not exotic; they are a missing environment variable or a version mismatch, and a container image removes both.

Where this stops being enough

Moving to a real server means a small cloud instance (roughly S$10–20/month — pick a Singapore region), a domain name, and something to terminate HTTPS. That part genuinely benefits from someone technical: budget an hour of an IT contractor's time.

It is also the honest moment to ask whether paying someone to operate it is cheaper than doing it yourself. See Hosting and support.

The part no installer can do for you

Once real employee data is in it, you hold NRIC numbers, salaries, home addresses and medical certificates — and under the PDPA your company is the data controller. You will need a Data Protection Officer, a privacy notice, decided retention periods, and a breach plan. None of that is software.

Read what running your own HRMS makes you responsible for before you go live. It is short, in plain language, and it is the part with actual legal weight.

Backups, briefly

Two things need backing up: the database, and the uploaded-files volume. A database-only backup restores an HR system full of broken links. The Docker guide gives both commands.

Then test a restore once a quarter. A backup you have never restored is a wish, not a backup — and this is the step that decides whether an incident is an inconvenience or a catastrophe.