Skip to content

Releases: Obiente/selfhost

Selfhost 0.1.4

Choose a tag to compare

@veryCrunchy veryCrunchy released this 26 Sep 11:23

Guided setup

Start with selfhost guide. App installation, supported onboarding and identity integrations, native settings, updates, existing app discovery, databases, servers, proxies and recurring tasks now have guided terminal flows. Ordinary setup no longer requires hand-written request JSON or copying review revisions between commands.

The dashboard and TUI include typed list and structured settings controls, container discovery and reviewed reconnection, and database source editing and removal protections. Reconnecting an app clears previous management permissions.

Remote hosting and access

  • selfhost dashboard setup guides background service installation.
  • Remote-only Docker mode supports hosting the dashboard separately from Docker engines.
  • Dedicated SSH key setup guides authorization, verified host trust and connection testing.
  • SSH-session tunnel guidance and selfhost dashboard diagnose help diagnose browser access.
  • Identity setup guides configuration from the provider directory and provides a setup code for another dashboard host.

Direct binary updates

Official standalone binaries support reviewed updates through the CLI, TUI and dashboard, with checksum checks and executable backups. Users on 0.1.3 should upgrade once with the 0.1.4 installer to receive this support.

Installers now update existing binaries without --force, skip unchanged binaries and configure persistent PATH entries. A piped Unix installer cannot change its parent shell, so use the documented && export PATH="$HOME/.local/bin:$PATH" suffix for immediate access.

Reliability

Fixed non-interactive standalone initialization and transient project-busy errors caused by retained Unix file descriptors. Added a lock-release regression test.

Release maintenance

Removed the obsolete npm publication recovery job, its input and helper scripts. Normal release builds, installation checks and registry publication remain in place. Rust and npm caching, one full Rust test run per operating system, and a single packaged-source installation build reduce repeated compilation. All six platforms retain native smoke and installer checks.

Scope

Automatic setup depends on the app/provider profile. Private-network registration does not enroll peers, and replacing stored database credentials does not rotate database accounts. No blog drafts or local data are included.

Install with npx selfhost@0.1.4, pnpm dlx selfhost@0.1.4, npm install -g selfhost@0.1.4, cargo install selfhost --locked --version 0.1.4, or the attached standalone installers. Documentation: https://selfhost.obiente.org/getting-started

Selfhost 0.1.3

Choose a tag to compare

@veryCrunchy veryCrunchy released this 26 Sep 08:33

Changes

  • Add temporary remote setup for headless servers, VMs and LXCs: selfhost serve --bind YOUR_PRIVATE_OR_VPN_IP --setup.
  • Protect setup with a one-use link that expires after 10 minutes and an administrator session that expires after 30 minutes. The API keeps its authentication, origin and CSRF checks.
  • Show setup guidance in the dashboard and request the intended HTTPS address when connecting an identity provider. Temporary setup is never saved in background services.
  • Fix Cargo updates on Rustup installations by preserving the Cargo launcher symlink name.
  • Replace typed phrases with y/N prompts in the interactive CLI updater, and include the build-log location when staging fails.

Upgrade and start setup

If upgrading from 0.1.1 or 0.1.2, use Cargo directly to avoid the old updater bug:

cargo install selfhost --locked --version 0.1.3
selfhost serve --bind YOUR_LXC_IP --setup

Use an IP assigned to the server, not 0.0.0.0. Open the complete setup link printed in the terminal. Setup uses HTTP: restrict access to your browser's machine and use a trusted private network or encrypted VPN. Configure HTTPS and identity-provider sign-in in Access, test your domain, then restart without --setup.

Also available through npx selfhost@0.1.3, pnpm dlx selfhost@0.1.3, and the standalone installers and binaries attached below. Direct-binary upgrades require the installer's --force or -Force option and retain a backup of the replaced binary.

Supported platforms: Linux, macOS and Windows, each on x64 and ARM64. The archives and binaries include checksums.

Selfhost 0.1.2

Choose a tag to compare

@veryCrunchy veryCrunchy released this 26 Sep 07:05

Selfhost 0.1.2

This release adds configurable dashboard listener addresses for reverse proxies on other hosts, VMs and LXCs.

Dashboard binding

  • selfhost serve --bind IP --port 8372 selects a listener address. The default remains 127.0.0.1.
  • selfhost dashboard install --bind IP preserves the listener in the persistent service. Dashboard update restarts retain it too.
  • Non-loopback listeners require a configured HTTPS public address, identity provider and explicitly authorized administrators before startup.
  • Local recovery and local sessions now check the actual TCP peer. Forged localhost or forwarding headers do not grant local access.
  • The dashboard shows its listener address, and domain instructions use the selected backend IP.

Configure and verify identity login locally first. Use a private or VPN address for a remote proxy, restrict backend traffic to the proxy, preserve the public Host header and encrypt the connection between servers. 0.0.0.0 listens on all IPv4 interfaces; it does not configure a firewall or enable TLS on the backend.

selfhost serve --bind 10.20.0.10 --port 8372

Replace the example IP with an address assigned to your Selfhost machine. A private-IP listener prints the public sign-in address and local recovery instructions instead of an unusable localhost link.

Install or update

npx selfhost@0.1.2 --help
pnpm dlx selfhost@0.1.2 --help
cargo install selfhost --locked --version 0.1.2

Direct installation without npm or Cargo:

curl --proto '=https' --tlsv1.2 -fsSL https://github.com/Obiente/selfhost/releases/download/v0.1.2/install.sh | sh -s -- --version 0.1.2

Windows PowerShell:

& ([scriptblock]::Create((Invoke-RestMethod https://github.com/Obiente/selfhost/releases/download/v0.1.2/install.ps1))) -Version 0.1.2

To replace a direct installation, stop its dashboard first and add --force or PowerShell -Force. The installer verifies checksums and keeps the previous binary as a backup. Select the same custom installation directory if you used one. Automatic staged activation through selfhost update remains specific to official Cargo installations.

Native downloads support Windows, Linux and macOS on x64 and ARM64. Verify them against BINARY-SHA256SUMS; SHA256SUMS covers the npm and Cargo archives. Native binaries are not yet signed or notarized.

Read the dashboard hosting guide and installation guide.

Selfhost 0.1.1

Choose a tag to compare

@veryCrunchy veryCrunchy released this 26 Sep 06:28

Selfhost 0.1.1

Selfhost brings a CLI, terminal interface and optional dashboard together around portable Compose configurations. You can generate a setup once, keep using the CLI, or choose ongoing management.

Included

  • A catalogue of 48 apps and stacks with deployment choices and app-specific configuration profiles.
  • Existing-app links, including Nextcloud AIO and ZITADEL, with separate permissions for management actions.
  • PostgreSQL, MySQL, MariaDB and MongoDB sources, including dedicated, shared and external database configurations.
  • Identity-provider connections, app setup workflows, maintenance actions, backups and tasks.
  • An embedded dashboard, served on localhost port 8372 by default.
  • npm launchers for Windows, Linux and macOS, on x64 and ARM64, plus a Cargo source package.

Try it

npx selfhost@0.1.1 --help
npx selfhost@0.1.1 serve

Or use pnpm dlx selfhost@0.1.1, pnpx selfhost@0.1.1, or cargo install selfhost --locked --version 0.1.1.

Open the one-use sign-in link printed by serve. To explore an existing service, use Existing apps → Link an app. Start with its URL; container monitoring needs a connection to the host or guest actually running Docker. Linking an app does not transfer its lifecycle to Selfhost. Connecting an identity provider for Selfhost login is a separate step under Access.

Read the getting started guide and existing-app guide.

Direct binary installation

No npm, Cargo or compiler is required. The shell installer supports Linux/macOS and the PowerShell installer supports Windows, on x64 and ARM64.

Linux/macOS:

curl --proto '=https' --tlsv1.2 -fsSL https://github.com/Obiente/selfhost/releases/download/v0.1.1/install.sh | sh -s -- --version 0.1.1

Windows PowerShell:

& ([scriptblock]::Create((Invoke-RestMethod https://github.com/Obiente/selfhost/releases/download/v0.1.1/install.ps1))) -Version 0.1.1

The installers verify SHA-256 checksums and install into a user-owned directory. Existing binaries require explicit replacement (--force or -Force) and receive a backup. Direct installations update by rerunning the installer; automatic activation through selfhost update is not available for this installation method in 0.1.1.

For manual installation, download your platform binary and verify it against BINARY-SHA256SUMS. Native binaries match the verified npm bundle. SHA256SUMS covers the npm and Cargo archives.

Scope and limits

This is an early release. Consult the per-app documentation for supported operations and known gaps. Live Proxmox migration and every provider-specific browser login flow have not been verified. Existing database migration and automatic credential rotation are not included. Native binaries are not Authenticode-signed or notarized.