Skip to content

Going live

The installation responds. Here is what to do before you let anyone in, and what to keep doing afterwards.

Before you open the door

1. The company

Settings → Company holds the legal name, the country, the currency and the time zone.

The last two deserve a minute. They are used to convert and to display, and changing them later does not rewrite history: an accounting entry keeps the rate frozen at its own date. That is deliberate, and it is what makes your books defensible.

2. Modules

Settings → Modules lists what is available. Switch on what you need and nothing more: a module that is off clutters neither the menus nor your team’s training.

A module can be switched off again. Its data stays; only the screens disappear.

3. Users and their rights

Create the accounts, then give each one its groups. A group is a set of rights; it decides what a user sees and may change.

Take your time here. Opening a right later is far easier than un-seeing a record somebody should not have seen.

4. Outbound mail

Settings → Mail holds your sending server. Test it before opening: a user who never receives their initial password opens a ticket on day one.

5. Backups

Set them up before the first real record, not after.

A backup is one command:

Fenêtre de terminal
kewos backup create \
--database-url "$KEWOS_DATABASE_URL" \
--tenant acme \
--output /backups/acme/$(date -u +%Y-%m-%dT%H%M%SZ).tar.gz

It produces an archive holding a pg_dump of your database and a manifest saying which customer it came from, when it was taken, and with which toolchain. The PostgreSQL client tools (pg_dump, pg_restore, package postgresql-client) have to be installed on the machine; if they are not, the command tells you, with the package name.

Nightly, in cron:

/etc/cron.d/kewos-backup
0 2 * * * kewos kewos backup create --database-url "postgresql+psycopg://kewos@127.0.0.1:5432/kewos_acme" --tenant acme --output /backups/acme/$(date -u +\%Y-\%m-\%dT\%H\%M\%SZ).tar.gz

Do not put the password on the command line: ps is readable by every account on the machine. Use ~/.pgpass with mode 0600, or local socket authentication.

To see what an archive holds, without restoring anything:

Fenêtre de terminal
kewos backup show --input /backups/acme/2026-09-06T020000Z.tar.gz
# tenant_slug: acme
# dialect: postgresql
# created_at: 2026-09-06T02:00:03.114882+00:00

6. Restoring, tried for real at least once

You restore beside, never over. The command refuses a database that already holds tables.

Fenêtre de terminal
createdb -O kewos kewos_acme_restore
kewos backup restore \
--input /backups/acme/2026-09-06T020000Z.tar.gz \
--database-url "postgresql+psycopg://kewos@127.0.0.1:5432/kewos_acme_restore" \
--confirm

Check the restored database, then switch over by renaming both, with the service stopped. The original is renamed, not dropped: it is the only copy of what happened.

The full procedure, disaster scenarios included, is in the docs/runbook-backup-dr.md runbook shipped with the product.

Habits worth keeping

After every upgrade

A new release may bring schema changes. The upgrade procedure shipped with the package applies them; it never erases anything.

Then check the installation reports itself healthy:

Fenêtre de terminal
curl https://erp.example.com/health/live

Watch three things

WhatWhy
Your licence expiryA banner will warn you, but a renewal takes preparation.
Disk spaceAttachments and backups grow without asking.
Your backupsNot that they run: that they restore.

What will raise questions first

In order of observed frequency.

An empty list although the data exists. Almost always a question of rights: the account does not see those rows, or not that company. Permissions apply beneath the interface, so an empty list is a correct answer, not a failure.

An email that does not go out. Sending is queued, never done from the screen. If the worker service is not running, the message waits with no visible error.

A user who cannot see a module that is switched on. They are missing the matching group.

An amount shown without a currency. See the company setting above.

Getting help

Write to support@kewos.io with your version number and, if the service will not start, the last lines of its log.