Running Erlangly

Upgrades

erlangly upgrade installs the latest release. Before a new version changes the database it takes a snapshot, and if the new version doesn't start, it puts the previous version and the snapshot back by itself. erlangly rollback goes back by hand. Admins see a note in Erlangly when a new version is out.

With a pay-once licence, erlangly upgrade installs releases that came out before your updates end, and your current version keeps running after that. erlangly licence shows the date, and admins hear 30 days before it.

Backups

  • Every night Erlangly saves a copy of all its data on the server, keeping the newest 14 (Settings → System shows them, with Back up now).
  • Those protect against mistakes and bad upgrades, not against losing the server. erlangly backup writes a backup to /var/backups/erlangly: copy it somewhere else with your usual off-site backups.
  • erlangly restore FILE puts a backup back.

Copies off the server, as it changes

With Litestream, Erlangly copies every change to its database to S3-compatible storage (AWS S3, DigitalOcean Spaces, Cloudflare R2, Backblaze B2 and others) within seconds. Add the bucket and its keys to /etc/erlangly/erlangly.conf and run erlangly restart:

LITESTREAM_REPLICA_URL=s3://my-bucket/erlangly?endpoint=tor1.digitaloceanspaces.com
LITESTREAM_ACCESS_KEY_ID=…
LITESTREAM_SECRET_ACCESS_KEY=…

If you lose the server, install Erlangly on a new one with the same three settings: it restores the data from the copy on its first start. Keep the settings somewhere other than the server. Everyone signs in again afterwards, and an admin re-enters the mail server password under Settings → Email.

Email

Under Settings → Email, give Erlangly your mail server, and it sends invitations, password resets, “your schedule is published” and request decisions. Until then, you copy invitation links and password reset links from the app instead (a person's page under Settings → Users), and if you're the only admin and locked out, erlangly reset-link your@email on the server prints one.

Signing in with your company account

Under Settings → Sign-in, connect Erlangly to Microsoft Entra ID, Google Workspace, Okta or another OIDC provider, and people sign in with their company account instead of an Erlangly password. It needs Erlangly served over HTTPS (install with TLS_DOMAIN, or behind your HTTPS proxy), because identity providers only send people back to https:// addresses. Register Erlangly with your provider using the redirect URI the page shows, fill in what the provider gives you, and list the email domains allowed to sign in. With Microsoft, only members of your organisation can sign in, not guests. Then sign in with it yourself as a test before turning it on: only people you've invited can use it. You can then require it, for staff or for everyone, keeping at least one break-glass admin who can still use a password. If you're ever locked out, erlangly sso off on the server stops requiring it.

Exporting your data

Settings → Export makes a .zip with a CSV file for each kind of data: people, sites and teams, lines of business and volume history, forecasts, schedules and shifts, time off, exceptions, adherence and the audit trail. Rows point at each other by ID, and times are in UTC. Passwords, tokens, the licence key and the mail and sign-in secrets are left out. Only admins can export, each export and download is in the audit trail, and exports are deleted after a week. On the server, erlangly export writes one to /var/backups/erlangly (or the directory you name).

What leaves your server

Only what you set up (email, your ACD's connection, Litestream copies to your own bucket, sign-in with your identity provider), and a daily update check that asks get.erlangly.com for the latest version number, which you can turn off under Settings → System. There's no telemetry.

Other commands

erlangly status        is it up, which version, where to reach it
erlangly logs -f       follow the app's log
erlangly restart
erlangly version
erlangly setup-link    the secret link for a new install's first admin
erlangly reset-link EMAIL   a link for someone to choose a new password (15 minutes, once)
erlangly sso [off]     signing in with your identity provider; off stops requiring it