Skip to content

Releases: Perkybeet/noust

Noust v3.3.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 14:07

Changes in v3.3.1

  • Sudo mode lasts while you work and asks for one factor; pending SSH and firewall changes show their proof; sudoers read as sudo reads it; install hints for this distribution; every fix hint names a real command; loading states on every page

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.3.1

Noust v3.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 08:23

Changes in v3.3.0

  • Databases as they really are: containers, engines that refuse Noust, detected links, engine versions and settings, exposure without false alarms, Compose stacks running outside their unit

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.3.0

Noust v3.2.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 02:55

Changes in v3.2.1

  • A Compose stack with the zero-downtime relay is no longer read as blue/green units: it showed as Stopped and its start or restart named units that do not exist
  • The Compose unit never pulls images when it starts: a boot recreated the database with whatever its image tag had become
  • Informative enabled/disabled labels read as small badges, and a loading spinner keeps turning (slower) under reduced motion

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.2.1

Noust v3.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 23:08

Changes in v3.2.0

  • Docker Compose deploys properly: pre/post-deploy hooks from noust.yaml, zero-downtime relay, adopting a running stack, stack database dumps before each update, operator sites respected, aliases and certificates
  • Schema-aware rollback: going back past a deployment that changed the database asks first, on every way back
  • Deploy by tags and GitHub releases; Prisma migrations that fail now abort the update
  • The web server at a glance: lossless nginx/Apache analyzer, structured editor, animated diagram and Try a URL; config tests run in the live nginx.conf
  • Investigate a chart's stretch: journal, audit, deployments, monitor findings and the busiest processes per minute
  • Jobs in transient units survive a console restart; notifications when an application stops answering
  • Sandboxed builds by default after a trial build; per-app system accounts for new applications
  • Security: git never runs as root in a tree another account owns; compose privileges cannot be gained through adopt or an update; site analysis and config tests cannot read or leak host files
  • Owner items 53-64: image removal, time zone selector, processes table, feature states, headless workers, fleet job logs, chart interactions

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.2.0

Noust v3.1.17

Choose a tag to compare

@github-actions github-actions released this 01 Oct 18:30

Changes in v3.1.17

  • A rollback to a backup (console or CLI) now rebuilds with the application's recorded type and passes the same health gate as a deploy; before, a static site built by Astro was restored without its dist/ and the rollback reported success while every page answered 404
  • A deploy or update keeps a web server site Noust did not write (no 'Generated by Noust' marker) instead of replacing it with its template
  • The suggested command for pending security updates is 'noust server updates apply --security-only'

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.17

Noust v3.1.16

Choose a tag to compare

@github-actions github-actions released this 01 Oct 15:33

Changes in v3.1.16

  • Updating Noust from the console or the fleet no longer leaves a failed 'Update Noust' job behind when the update succeeded: the restarted console follows the update's own record and records how it really ended

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.16

Noust v3.1.15

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:17

Changes in v3.1.15

  • The health gate (activation, rollback, migration, limits) and noust env migrate find an application's unit when its row lacks the legacy wasm- prefix the installed unit still has; before, the gate restarted a unit that did not exist
  • noust env migrate refuses a unit outside the managed directory with a message instead of a traceback

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.15

Noust v3.1.14

Choose a tag to compare

@github-actions github-actions released this 01 Oct 13:50

Changes in v3.1.14

  • noust env migrate keeps the .env's value for build-time variables (NEXT_PUBLIC_, VITE_, REACT_APP_*...) when the unit had another: builds inlined the .env's, so it is the one in use
  • noust env migrate keeps the previous .env under the state directory (env-migrations/, root only) and says where
  • The noust.inline_secrets check no longer reports Noust's own units or a Compose stack's COMPOSE_FILE

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.14

Noust v3.1.13

Choose a tag to compare

@github-actions github-actions released this 01 Oct 13:27

Changes in v3.1.13

  • Applications created with WASM 1.x carried their variables (DATABASE_URL, secrets) as Environment= lines in a 0644 unit that any local user reads with systemctl show, and their builds ran without them; 'noust env migrate ' (or --all) moves them into the 0600 .env the unit then loads, restarting behind the health gate and putting everything back if the application does not answer
  • New security check noust.inline_secrets: critical when an application unit carries a secret inline
  • noust env show needs no --reason under ens-medium unless --unmask prints the secrets

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.13

Noust v3.1.12

Choose a tag to compare

@github-actions github-actions released this 01 Oct 12:05

Changes in v3.1.12

  • pnpm installs recreate node_modules without asking: the first sandboxed update of an in-place pnpm application met a tree a root build had made with another store, and pnpm aborted with ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY

Installation

Noust was called WASM until 3.0.0. wasm remains a command alias for the whole 3.x series, and existing installations upgrade in place: see docs/RENAME.md.

Ubuntu/Debian

curl -fsSL https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/noust.gpg
echo "deb [signed-by=/usr/share/keyrings/noust.gpg] https://download.opensuse.org/repositories/home:Perkybeet/xUbuntu_26.04/ /" | sudo tee /etc/apt/sources.list.d/noust.list
sudo apt update && sudo apt install noust

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:Perkybeet/Fedora_43/home:Perkybeet.repo
sudo dnf install noust

From PyPI

pip install noust

The central, as a container (a NAS or any Docker host)

docker pull ghcr.io/perkybeet/noust:3.1.12