Skip to content

Add Stackyard 1.21.0 - #1125

Open
SandObserver wants to merge 1 commit into
IceWhaleTech:mainfrom
SandObserver:feat/add-stackyard
Open

SandObserver wants to merge 1 commit into
IceWhaleTech:mainfrom
SandObserver:feat/add-stackyard

Conversation

@SandObserver

Copy link
Copy Markdown

New app: Stackyard

Stackyard is a self-hosted homelab dashboard and start page. Apps sit in a grid of tiles and folders, with a small set of widgets for media, downloads, DNS, backups, disk health, system stats and weather. Health badges appear on a tile only when its service has a problem, and any service with an API can show a live badge without custom code. Everything is set up in the web UI.

This is a new app, not an update. I am the upstream developer.

What is in the PR

Apps/Stackyard/docker-compose.yml
Apps/Stackyard/icon.svg
Apps/Stackyard/thumbnail.png
Apps/Stackyard/screenshot-1.png ... screenshot-4.png

Notes on the compose

  • Web UI on host port 8700, container port 80. No other app in the store publishes 8700, and 8700 is Stackyard's documented default, so links in its docs match. port_map matches the published port.
  • Paths follow the store convention: /DATA/AppData/$AppID/data holds the whole dashboard (config, settings, uploaded wallpapers), /DATA/AppData/$AppID/icons holds custom icons.
  • ALLOW_PRIVATE_IPS=true so widgets and badges can reach services on the local network, which is what a homelab dashboard is for. The project documents this as the setting most homelab installs need.
  • Hardened like the upstream compose: the image runs as its non-root node user, all capabilities are dropped, no-new-privileges is set, and a 384 MB memory limit applies with NODE_OPTIONS sizing the Node heap to half of it.
  • tips.before_install tells users to set a dashboard password, because until one is set anyone who can reach the dashboard can change it.
  • Listing text in en_US and zh_CN. Stackyard's own UI ships Simplified Chinese, and the zh_CN text uses its terms.

How it was validated

  • docker compose config -q passes, and the file meets the validator's rules: lowercase top-level name, reverse-domain x-casaos.id (com.sandobserver.stackyard).
  • This exact compose was installed through the app management API on ZimaOS 1.8.0 (x86_64, fresh install in a VM): the app reached running, the health check passed, and a setting saved in the web UI persisted across an app restart.
  • 1.21.0 also runs as a non-root user with no capabilities on umbrelOS 2.0.1 and in the TrueNAS app CI. Earlier releases were tested on umbrelOS 2.0.0 (amd64 and arm64) and TrueNAS 25.10.7.
  • If a newer Stackyard release ships before review, I will update the image tag, version, update_at and release notes together.

Images

Thumbnail (1568x884) and the four screenshots (2880x1800, Stackyard 1.21.0), from this branch:

Thumbnail

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

@sonarqubecloud

sonarqubecloud Bot commented Nov 1, 2026

Copy link
Copy Markdown

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant