Skip to content

Rackula #1883

Closed
Closed

Description

@ggfevans

Name of the Script

Rackula

Script Type

CT (LXC Container)

Does this script support arm64?

arm64 is supported. Tested install and update paths on amd64 and arm64 Debian 13 containers.

📋 Script Details

Rackula is a server rack layout designer: https://github.com/RackulaLives/Rackula

Focused on being a simple rack designer, this web based tool supports NetBox-style YAML rack and device definitions.

The LXC combines the two separate pieces (the TypeScript web frontend and the Hono-based backend for data persistence) into one Debian 13 container.

Activity

  1. ggfevans commented on Jun 5, 2026

    @ggfevans
    ContributorAuthor

    this is currently blocked until I get the LXC build pipeline working as expected, this will be part of a forthcoming 26.6.0 release of Rackula

  2. ggfevans commented on Jun 5, 2026

    @ggfevans
    ContributorAuthor

    arm64 update: the blocker is resolved on the Rackula side.

    The release tarball now bundles the native @node-rs/argon2 binary for both x86-64 and arm64. The build installs with bun install --cpu='*' --os=linux and fails if either architecture's binary is missing. argon2 is the only native dependency.

    Verified on native arm64 Linux (not emulation): a tarball-parity build loaded argon2 and round-tripped an Argon2id hash under linux/arm64, both locally and in a CI job on a ubuntu-24.04-arm runner.

    This lands with the Rackula v26.6.0 release. Since the install script pulls the latest release, arm64 will work as soon as v26.6.0 is published (the first release carrying the arch-complete tarball). I will flip var_arm64/has_arm and update this request to arm64-supported once that release is out.

  3. ggfevans commented on Jun 5, 2026

    @ggfevans
    ContributorAuthor

    PR opened: #1893.

    arm64 is now supported. The Rackula v26.6.1 release tarball bundles the native @node-rs/argon2 binary for both x86-64 and arm64 (verified loading under Bun on a native arm64 runner), and the script advertises arm64 (var_arm64=yes, has_arm: true).

    The script follows community-scripts conventions: fetch_and_deploy_gh_release for install and update, no custom download or checksum logic, no curl dependency, and data preserved across updates. Two intentional deviations (a dedicated rackula user for token security, and an nginx reverse proxy) are explained in the PR description.

  4. ggfevans commented on Jun 6, 2026

    @ggfevans
    ContributorAuthor

    Looks like there is a >6 month project age requirement. Rackula's first repo commit was on Dec 26th 2025, though that was a migrated repo from the original project name Rackarr with it's first commit on Nov 27, 2025. Therefore, I'd consider Rackula is actually > 6 months old, though the repo age is only 5 months.

  5. michelroegl-brunner commented on Jun 11, 2026

    @michelroegl-brunner
    Member

    Merged with #15052 in ProxmoxVE

  6. ggfevans commented on Jun 12, 2026

    @ggfevans
    ContributorAuthor

    hey @michelroegl-brunner I think this was closed in error. #15052 is the arm64 porting batch (setting arm64 status on existing scripts) and doesn't add Rackula. Rackula's submission is PR #1897, which is still open. Could we reopen this issue? cc @vhsdream

  7. MickLesk commented on Jun 12, 2026

    @MickLesk
    Member

    michels bot is drunk

  8. ggfevans commented on Jun 12, 2026

    @ggfevans
    ContributorAuthor

    PR #1897 merged! <3

  9. MickLesk commented on Jun 12, 2026

    @MickLesk
    Member

    Dont Close. We need the Task for our actions

  10. 4 remaining items

  11. tremor021 commented on Jun 15, 2026

    @tremor021
    Member

    Script updated to use our backup functions.

    Btw, these "verifying" code blocks should be removed. Why are you verifying files that you're literaly creating some lines before. You should always assume that they are correct, you're the one editing them. Having a check that will fail if some nginx config or something is wrong makes no sense. Users wont spend time correcting nginx configs.

    This needs to work out-of-the-box

  12. ggfevans commented on Jun 16, 2026

    @ggfevans
    ContributorAuthor

    Thanks @tremor021 — addressed in #1928:

    • Removed both Verifying Services health-check loops and the Bun -x self-check.
    • nginx -t: collapsed the hand-rolled gate to the one-line $STD nginx -t that every other nginx script uses (aliasvault, simplelogin, discourse, …). It still aborts on a genuinely broken config via silent(), but with no bespoke message/friction — happy to drop the test entirely if you'd prefer zero nginx checks.

    While testing the update path I also hit a separate 404: the update fetch was passing ${var_version} (the Debian version, 13) as the release tag, so it failed after stopping services + backing up data. Switched it back to "latest" to match the install path (kept as its own commit in #1928).

    Verified end-to-end on PVE 9.1.9 / Debian 13 LXC: fresh install and forced update (26.6.2 → 26.6.3) both come up healthy (/api/health 200, frontend 200), data preserved across the update.

    @CerberusStyle's daemon-reload warning is real too — the update no longer runs systemctl daemon-reload after copying unit files. Flagged it in #1928; can fold the reload in there or do a follow-up, whichever you prefer.

  13. michelroegl-brunner commented on Jun 21, 2026

    @michelroegl-brunner
    Member

    Merged with #15255 in ProxmoxVE

  14. CerberusStyle commented on Jun 21, 2026

    @CerberusStyle

    @ggfevans any updates on this? Just did i quick test and still seeing same error i did before on update.

  15. ggfevans commented on Jun 22, 2026

    @ggfevans
    ContributorAuthor

    @CerberusStyle that warning means the update rewrites the systemd unit files (rackula-api.service + the nginx.service.d drop-in) but never runs 'systemctl daemon-reload' before starting services, so systemd starts from the stale definitions. When a release changes those units it drops nginx (226/NAMESPACE) and rackula-api (31/SYS) while the update still reports success and advances the version marker.

    Fix is a one-line daemon-reload before service start, in both the install and update paths. Reproduced and verified on amd64 (PVE 9.2 LXC) and arm64 (Deb13): #1944

  16. tremor021 commented on Jun 22, 2026

    @tremor021
    Member

    merged #1944

  17. github-actions commented on Jun 29, 2026

    @github-actions
    Contributor

    A PR has been created for rackula: community-scripts/ProxmoxVE#15465

  18. github-actions commented on Jul 5, 2026

    @github-actions
    Contributor

    Files deleted with PR #1979

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions