Skip to main content
This path installs Den natively on one Linux host with systemd, without Docker or Kubernetes. It is ideal for a Proxmox LXC or a small VM. The Helm chart remains the recommended production path, as described in the self-host overview. See the cloud guides for AWS, Azure, and Google Cloud.
This path is community-supported on a best-effort basis.

What this deploys

  • Den API on port 8788
  • Den Web on port 3005
  • systemd units openwork-den-api.service, openwork-den-web.service, and openwork-den.target
  • versioned installs under /opt/openwork-den/versions, with /opt/openwork-den/current pointing to the active version
  • configuration in /etc/openwork-den/den.env
  • a system service user named openwork-den
The install requires an external MySQL 8 database. MySQL is not bundled. The archive includes its own Node.js runtime, so no separate application runtime is installed on the host. The installer does not install any other host packages.

Use the tarball or something else?

Kubernetes operators should use the Helm chart. Docker Compose remains available for local and development use. Use the native tarball for plain Linux hosts and LXC containers where nested Docker is unwanted.

Prerequisites

  • Linux with systemd. A plain Debian or Ubuntu LXC on Proxmox works without nesting.
  • Root access for the default install.
  • A MySQL 8 database reachable over the network.
  • A domain and TLS reverse proxy for production.

Get the bundle

Download openwork-den-linux-x64-<version>.tar.gz from the GitHub release page. Release artifacts are available for linux-x64 only for now. To build the archive from a checkout:
The build command accepts --platform <darwin|linux>, --arch <arm64|x64>, and --node-source <download|host> after --. Native dependencies require the build host to match the requested platform and architecture. For example:

Install

Extract the archive and enter its versioned directory:
Install the bundle:
Edit the generated configuration and replace every example secret, database address, email, and public origin:
Run the database migration, then enable and start both services through the target:
For non-standard installs, install.sh accepts --prefix PATH, --config-dir PATH, --systemd-dir PATH, --no-systemd, and --no-user.

Configuration reference

The installer creates /etc/openwork-den/den.env from the bundled example and preserves that file on later installs. It stays root-owned and group-readable by the openwork-den service user, but the service user cannot modify it. The web origin values must match the public URL served by the reverse proxy.

Operate

Check the target and individual services:
Follow API logs:
Check local health and web readiness:

Upgrade

Unpack the new archive, enter its directory, and rerun:
The installer preserves den.env, stages the new version under /opt/openwork-den/versions, and atomically flips the current symlink. Den API runs migration through ExecStartPre before it starts. When upgrading an active install, the installer also migrates before restarting both services. Previous versions remain under /opt/openwork-den/versions. To roll back, point /opt/openwork-den/current to the previous version and restart openwork-den-api.service and openwork-den-web.service. Confirm that the older application is compatible with the migrated database before rolling back.

Uninstall

Limitations

  • This path is community-supported on a best-effort basis.
  • Release artifacts are available for linux-x64 only for now.
  • .deb and .rpm packages are not available yet.
  • This is a single-host deployment path.
Follow GitHub issue #2084 for the native packaging track.