# zedensix > Free, open-source, self-hosted software for homelabs, written by one person and given away: > a cloud drive (Penombre), a single-host PaaS (Homerun), a server monitor (Baba), a media web > client (Nuvio Web), a homelab start page (Bercail), a SvelteKit adapter (svelte-smol) > and a release tool for GitHub Actions (releaser). > No subscriptions, no seats, no paywalled features, no telemetry. Every page here is also published as Markdown: append `.md` to any URL, for example https://zedensix.com/penombre.md. The whole site as one file is at https://zedensix.com/llms-full.txt. Crawling, indexing, quoting and training are all explicitly allowed; see https://zedensix.com/robots.txt. ## Projects - [Penombre: a free self-hosted Nextcloud and Google Drive alternative](https://zedensix.com/penombre.md): Penombre is a free, open-source self-hosted drive, and a Nextcloud, Google Drive, Seafile and ownCloud alternative. A web app, a desktop sync app for macOS, Windows and Linux, and an Android and iOS app. Previews, notes, share links, shared drives, Word, Excel and PowerPoint editors, signatures, a waveform music player. One Docker container, SQLite by default, no subscription. - [Homerun: a free self-hosted PaaS, a Dokploy and Coolify alternative](https://zedensix.com/homerun.md): Homerun is a free, MIT-licensed self-hosted PaaS and a Dokploy, Coolify, Dokku and Cloud Run alternative: deploy Docker images or git repos from a form, get TLS routing via Traefik. One box to start, Swarm workers when you want more. Nothing paywalled. - [Nuvio Web: an unofficial Nuvio web app for your browser, PC and Docker](https://zedensix.com/nuvio-web.md): Does Nuvio have a web app? Not officially, so here's one: free and open source. Sign in with your Nuvio account for your profiles, addons, library and watch progress in any browser. Self-host it with Docker. Subtitles, skip intro, cast to TV, offline downloads. - [Bercail: a free self-hosted homelab start page, and a Homepage and Homarr alternative](https://zedensix.com/bercail.md): Bercail is a free, open-source, self-hosted start page for your homelab, and a Homepage, Homarr, Dashy, Homer and Heimdall alternative: your links with live online status, weather, host vitals, Umami analytics and a new tab extension. - [OpenCount: a free self-hosted Tricount alternative to split expenses](https://zedensix.com/opencount.md): OpenCount is a free, open-source, self-hosted Tricount and Splitwise alternative. Split expenses with friends, see who owes whom, settle up in the fewest payments. Repeating expenses, local receipt reading, insights, an installable phone app. One Docker container, one SQLite file. - [releaser: a semantic-release alternative in one Go binary, free and open source](https://zedensix.com/releaser.md): releaser is a free, open-source semantic-release alternative: conventional commits in, version, CHANGELOG, tag and GitHub release out. No plugins, no config file, no node_modules, one static Go binary. - [Baba: free homelab server monitoring with Discord and Telegram alerts](https://zedensix.com/baba.md): Baba is a free, open-source homelab monitor. It watches CPU, load, memory, disk, temperature and GPU, sends Discord or Telegram alerts, and tells you when things recover. Single binary or Docker. - [@orochibraru/ui: Svelte 5 components and theme, with an MCP server](https://zedensix.com/ui.md): @orochibraru/ui is a free, open-source Svelte 5 component library for SvelteKit and Tailwind CSS v4: shadcn-svelte primitives, data-in form components, app blocks, an oklch theme, and a bundled MCP server so your editor's assistant knows every component. - [LocalAssistant: a small self-hosted Home Assistant alternative](https://zedensix.com/localassistant.md): LocalAssistant is a free, open-source, self-hosted home controller and a lighter Home Assistant alternative: Tuya blinds over the LAN, Mitsubishi heat pumps, Zigbee2MQTT, Shelly energy, cameras, routines and a wall panel. One Docker container, one SQLite file, installable on phones. ## Start here - [zedensix: free, self-hosted software for your homelab](https://zedensix.com/index.md): Free and open-source homelab software: self-hosted drive, a Cloud Run alternative, server alerting, a Nuvio web client, a homelab start page, a Bun SvelteKit adapter, a semantic-release alternative and Dokploy→Pangolin routing. No subscriptions, no seats, no paywalls. - [Projects: free, self-hosted software for your homelab](https://zedensix.com/projects.md): Free, open-source, self-hosted replacements for the subscriptions a homelab collects: a drive, a PaaS, server alerting, a start page, a media client and the tooling that ships them. - [Blog: rants about software that grew a pricing page](https://zedensix.com/blog.md): Notes and complaints about self-hosting, homelab software, and every tool that was good until it had a funding round. - [About: a self-taught engineer who is done paying rent on software](https://zedensix.com/about.md): Ten years self-taught, building free self-hosted tools. How these projects get built, what AI actually does here, and why a pricing page makes me angry enough to rewrite the thing. - [Privacy: what this site collects, which is almost nothing](https://zedensix.com/privacy.md): GDPR privacy notice for zedensix.com: self-hosted, cookie-free Umami analytics and server access logs, kept in the EU and never shared. What is collected, why, for how long, and your rights. ## Blog - [Homerun now puts your idle apps to sleep, catches their crashes, and finally works on a phone](https://zedensix.com/blog/homerun-idle-apps-sleep-catches-crashes-works-on-a-phone.md): Twenty-four Homerun releases since the release channels post. The ones that matter: services that sleep when nobody's using them, Sentry-compatible error tracking built in, browser IDEs on your own server, incremental backups, your whole setup in a file, and a dashboard that feels like an app on your phone. - [Homerun has release channels now, because I was tired of shipping broken builds](https://zedensix.com/blog/homerun-nightly-canary-stable.md): Every merge to main used to be a Homerun release, including the broken ones, and every fix cost fifteen minutes of CI. Now Releaser cuts nightly, canary and stable, and the updater refuses to install a build that can't boot. - [Penombre versioning: stop naming your files like a hostage note](https://zedensix.com/blog/penombre-file-versioning-for-artists.md): Penombre now keeps versions of your files. For musicians and designers that means no more final-final-v3 exports, and switching between mixes mid-playback to hear what actually changed. - [Why I rewrote semantic-release in Go](https://zedensix.com/blog/why-i-rewrote-semantic-release-in-go.md): semantic-release does one job and buries it under a plugin registry, a .releaserc, and a node_modules folder heavier than the project it's releasing. I looked at GoReleaser too, wrong tool for a different job. Releaser is the same four steps and a single Go binary. - [Why Penombre dropped S3 support](https://zedensix.com/blog/why-penombre-is-dropping-s3-support.md): S3 support sounded like the "enterprise-ready" checkbox to tick. It was actually a bet against the entire premise of the project. It's gone now, here's why. - [Homerun and Penombre are both getting a Go worker](https://zedensix.com/blog/homerun-and-penombre-are-both-getting-a-go-worker.md): Deploys dragged on Homerun, uploads dragged on Penombre, and Homerun's releases were pushing 800MB. Here's why the fix for both is the same worker, written in Go. - [This is where I rant](https://zedensix.com/blog/this-is-where-i-rant.md): Why there is a blog on a site that exists to give software away, and what is going to end up on it. ## Penombre documentation Just Penombre: https://zedensix.com/penombre/llms.txt, or all of its guides in one file at https://zedensix.com/penombre/llms-full.txt. - [Penombre documentation](https://zedensix.com/penombre/docs.md): A self-hosted drive, in the browser, on your desktop and on your phone. SQLite by default: one container, one volume, no database server to babysit. - [Penombre](https://zedensix.com/penombre/docs/readme.md): A self-hosted drive. All the convenience of cloud storage, on hardware you own, with a bill of exactly zero. - [Contributing](https://zedensix.com/penombre/docs/contributing.md): mise bootstrap installs the pinned tools, then runs the bootstrap task: bun install (which wires the git hooks), the generated i18n messages that bun test needs, and a first build… - [Getting Started](https://zedensix.com/penombre/docs/getting-started.md): Spin up a Penombre instance in minutes with Docker Compose. - [Showcase](https://zedensix.com/penombre/docs/showcase.md): Every screenshot below is generated by driving a real instance with Playwright (bun run screenshots, or mise run media for these and the feature graphics with the desktop and… - [Simple Mode](https://zedensix.com/penombre/docs/simple-mode.md): Run Penombre as a bare shared file browser instead of a multi-user drive. - [Environment Variables](https://zedensix.com/penombre/docs/env.md): Configure your Penombre instance with environment variables. - [Deployment](https://zedensix.com/penombre/docs/deployment.md): Deploy Penombre to production with Docker. - [Reverse Proxy](https://zedensix.com/penombre/docs/reverse-proxy.md): Expose Penombre behind a reverse proxy with HTTPS. - [Storage](https://zedensix.com/penombre/docs/storage.md): Where Penombre keeps your files. - [Encryption](https://zedensix.com/penombre/docs/encryption.md): Penombre can seal file bytes at rest with a key you hold, but start with disk-level encryption on DATA_DIR: for a stolen or decommissioned drive it covers strictly more, because it… - [Mounted volumes](https://zedensix.com/penombre/docs/volumes.md): A volume is a directory mounted alongside the main drive. It appears in the sidebar as its own entry, is browsable and searchable like any other folder, and is reconciled with what… - [Worker](https://zedensix.com/penombre/docs/worker.md): Penombre offloads CPU- and I/O-heavy byte work to a small Go process rather than doing it inline in the app's request handlers. - [Troubleshooting](https://zedensix.com/penombre/docs/troubleshooting.md): Solutions to common Penombre issues. - [Uploads](https://zedensix.com/penombre/docs/uploads.md): Uploading is deliberately boring: pick files, they land in the folder you are browsing. Two things about it are worth knowing. - [WebDAV and sync](https://zedensix.com/penombre/docs/webdav.md): Every Penombre tree is served over WebDAV, so the file manager you already use can mount it and rclone can keep a local folder in sync with it. Penombre Sync, the desktop tray app… - [Desktop sync](https://zedensix.com/penombre/docs/desktop.md): Penombre Sync is a small tray app for macOS, Linux and Windows that keeps folders on your computer in two-way sync with Penombre. It is built on WebDAV and rclone: it does the… - [AI assistants (MCP)](https://zedensix.com/penombre/docs/mcp.md): Penombre speaks the Model Context Protocol, so an AI assistant can browse, search, read and write your files, and move videos, photos and code in and out to work on them. The… - [Mobile app](https://zedensix.com/penombre/docs/mobile.md): The Penombre app for Android and iOS is at an early stage: it signs in, browses your drive and shared drives, shows pictures, plays music and video, and opens the rest in the… - [Media and notes](https://zedensix.com/penombre/docs/media.md): Images, video and audio get more than a download link. - [Documents, sheets and presentations](https://zedensix.com/penombre/docs/documents.md): Penombre creates and edits three kinds of document in the browser, from the New button in the sidebar. - [Signatures](https://zedensix.com/penombre/docs/signatures.md): Ask people to sign a document, with or without an account on the instance. Each signer gets a personal link, signs on a page that works on a phone, and once everyone has signed… - [File versioning](https://zedensix.com/penombre/docs/versioning.md): Keep the earlier bytes of a file instead of final-final-really.wav. - [Sharing](https://zedensix.com/penombre/docs/sharing.md): Penombre shares a file or folder two ways, and the Share dialog has a tab for each: - [Shared drives](https://zedensix.com/penombre/docs/shared-drives.md): A shared drive belongs to a group instead of a person. Everyone on it opens the same tree, uploads into the same folders, and sees the same trash — unlike sharing, where an item… - [Notifications](https://zedensix.com/penombre/docs/notifications.md): The bell in the header tells you when someone else did something to your things. It is deliberately narrow: only events involving another person appear, so your own uploads… - [FAQ](https://zedensix.com/penombre/docs/faq.md): How do I change the language? Is a file overwritten by Syncthing or rsync kept as a version? What happens when I rename or move a file on disk? - [Admin panel](https://zedensix.com/penombre/docs/admin.md): Accounts with the admin role get an extra section at /admin, reachable from the user menu. It is hidden entirely when auth is bypassed — nobody signs in under bypass, so the shared… - [Authentication](https://zedensix.com/penombre/docs/authentication.md): Configure authentication methods for your Penombre instance. Penombre supports multiple authentication methods powered by Better Auth. - [Project architecture](https://zedensix.com/penombre/docs/architecture.md): Overview of the Penombre project architecture. ## Homerun documentation Just Homerun: https://zedensix.com/homerun/llms.txt, or all of its guides in one file at https://zedensix.com/homerun/llms-full.txt. - [Homerun documentation](https://zedensix.com/homerun/docs.md): A self-hosted PaaS that starts on one box. Point it at an image or a git repo, fill a form, hit deploy, and Traefik routes it with TLS. No Kubernetes anywhere near it. - [Homerun](https://zedensix.com/homerun/docs/readme.md): A self-hosted PaaS that starts on one box. Swarm workers when you want more. No Kubernetes, no separate control plane. Deploy Docker containers with a click-config form, a Dokploy… - [Contributing to Homerun](https://zedensix.com/homerun/docs/contributing.md): This is the "I want to run this from source and change code" guide. If you just want to run Homerun, you don't need any of this: use the installer one-liner or compose.prod.yaml… - [Getting started](https://zedensix.com/homerun/docs/getting-started.md): Homerun needs three things at runtime: a Docker socket to manage containers, a Postgres database, and Traefik for routing and TLS. Pick whichever install path fits, both run… - [Showcase](https://zedensix.com/homerun/docs/showcase.md): Every screenshot below is generated by driving a real instance with Playwright (bun run screenshots): a blank database, a real sign-up, the onboarding wizard, then a stack with… - [Configuration](https://zedensix.com/homerun/docs/configuration.md): Almost everything is a setting in the dashboard. The first-run wizard asks for what a first deploy needs, and /settings (needs the Settings permission, admins have it) lets you… - [Simple and advanced modes](https://zedensix.com/homerun/docs/ui-modes.md): The dashboard runs in one of two modes. - [FAQ & limitations](https://zedensix.com/homerun/docs/faq-and-limitations.md): Homerun is new. If you're used to another self-hosted PaaS, most of what you expect is here, but some things work differently and a few aren't built yet. This page is the honest… - [Architecture](https://zedensix.com/homerun/docs/architecture.md): What runs where, who talks to whom, over what, and why. It's the map to read before debugging a request that crosses two processes, or before adding a new integration. - [Services](https://zedensix.com/homerun/docs/services.md): A service is one deployed container. Create one from Services → Deploy a Service, either standalone or pre-filled from a stack or template via ?stackId=/?templateId=. The wizard's… - [Deploy source and build methods](https://zedensix.com/homerun/docs/deploy-source-and-builds.md): Where a service's image comes from, how a git-based service is built, and which machine builds it. - [Homerun Manifest](https://zedensix.com/homerun/docs/manifest.md): A Homerun Manifest is a service's configuration kept as a file: its port, environment, resources, health check, build method, domains, login wall, previews and so on. Commit it to… - [Connecting a git provider](https://zedensix.com/homerun/docs/git-providers.md): Git Providers in the sidebar is what turns "paste a clone URL" into "browse my repos", and it's how a private repo works without putting a token in the URL. It takes two steps… - [Deploy on push](https://zedensix.com/homerun/docs/deploy-on-push.md): Turn on Deploy on push in the service's Environments & Revisions → Source section (or in the wizard) and every push to the service's branch deploys it, as its owner, without you… - [Deploying from CI](https://zedensix.com/homerun/docs/ci-cd.md): Deploy on push covers a service Homerun builds from git. When your CI builds and pushes the image itself (tests first, a registry of your own, a monorepo that builds several… - [Pull request previews](https://zedensix.com/homerun/docs/pull-request-previews.md): Advanced mode: simple mode hides the Previews section of a service's Environments & Revisions tab. Everything here keeps working either way, and a hidden page still opens from a… - [Environments](https://zedensix.com/homerun/docs/environments.md): Advanced mode: simple mode hides the Environments list on a service's Environments & Revisions tab. Everything here keeps working either way, and a hidden page still opens from a… - [Release channels](https://zedensix.com/homerun/docs/release-channels.md): Advanced mode: simple mode hides the Channels section of a service's Environments & Revisions tab. Everything here keeps working either way, and a hidden page still opens from a… - [Main is canary, tags are stable](https://zedensix.com/homerun/docs/main-canary-tags-stable.md): A cookbook for one release model: every merge to main goes live on a canary site, and cutting a version tag (v1.4.0) ships it to the real one. Homerun does the routing with release… - [Test every pull request in its own environment with GitHub Actions](https://zedensix.com/homerun/docs/github-actions-preview-testing.md): A cookbook: every pull request gets a real deployment of its own (a pull request preview), GitHub Actions runs your end-to-end suite against it, and shipping the pull request… - [Required status checks](https://zedensix.com/homerun/docs/status-checks.md): A git-mode service can refuse to build until its CI agrees. In the service's Environments & Revisions → Source section, tick Require status checks to pass before building and pick… - [Importing a compose file](https://zedensix.com/homerun/docs/compose-import.md): Import compose on the services list takes a docker-compose.yaml pasted straight in and turns it into Homerun rows. Parsing happens on the server and nothing is created until you… - [Migrating from Dokploy or Coolify](https://zedensix.com/homerun/docs/migrating-from-dokploy-or-coolify.md): Settings → Migrate (needs the Settings permission) reads another PaaS instance and recreates what it finds here. Pick Dokploy or Coolify, give it the instance URL and an API token… - [Deploying](https://zedensix.com/homerun/docs/deploying.md): Every tab of a service shares one header: its name, status and environment, the image and tag (or repo and ref) it runs, its public address, its internal address with a copy… - [Revisions and rollback](https://zedensix.com/homerun/docs/revisions-and-rollback.md): Advanced mode: simple mode hides the Revisions section and the Deployments sidebar entry, and puts a Roll back to the previous version entry in the service header's ⋯ menu instead… - [Image scanning](https://zedensix.com/homerun/docs/image-scanning.md): Every deploy scans the image for known vulnerabilities with Trivy before the workload starts. It's on by default and never enforced unless you ask for it. - [Environment variables](https://zedensix.com/homerun/docs/env-vars.md): Plain key/value rows under a service's Environments & Revisions → Environment Variables, stored as-is (not encrypted, don't put a raw plaintext secret you'd mind leaking in the DB… - [Networking](https://zedensix.com/homerun/docs/networking.md): A service's Networking tab has four sections: - [Redirects](https://zedensix.com/homerun/docs/redirects.md): Redirects (sidebar, Infrastructure) sends a hostname, or a path under one, to another URL. Traefik answers the request itself, no container is involved. - [Error pages](https://zedensix.com/homerun/docs/error-pages.md): Traefik's own errors are a bare 404 page not found or Bad Gateway. Homerun replaces them with a branded page, so a visitor who arrives early or while an app is down sees something… - [DNS automation](https://zedensix.com/homerun/docs/dns-automation.md): The DNS page (sidebar → Integrations, needs the DNS permission) is where Homerun manages your domains' DNS. It has three tabs: Domains, Providers and Pangolin. - [Runtime and compute](https://zedensix.com/homerun/docs/runtime-and-compute.md): Advanced mode: simple mode hides the Runtime section of a service's Container tab. Everything here keeps working either way, and a hidden page still opens from a link. - [Swarm mode](https://zedensix.com/homerun/docs/swarm-mode.md): Instance-wide (/settings → Docker → Orchestration mode), and what the one-line installer sets up: the installer makes the system Docker daemon a swarm manager, and a brand new… - [Observability](https://zedensix.com/homerun/docs/observability.md): The Observability tab is where a service tells you how it's doing. It has nine sections: Monitoring, its traffic, response time, error rate, uptime and resource use over a range… - [Error tracking](https://zedensix.com/homerun/docs/error-tracking.md): Advanced mode: simple mode hides the Errors section of a service's Observability tab. Everything here keeps working either way, and a hidden page still opens from a link. - [Tracing](https://zedensix.com/homerun/docs/tracing.md): Advanced mode: simple mode hides the Traces section of a service's Observability tab and the Traces tab of Monitoring. Everything here keeps working either way, and a hidden page… - [Pipelines](https://zedensix.com/homerun/docs/pipelines.md): Pipelines, under Observability in the sidebar, brings the CI runs of the repositories you choose into Homerun: GitHub Actions workflow runs, GitLab CI pipelines and Gitea Actions… - [Scheduling and the job queue](https://zedensix.com/homerun/docs/scheduling.md): Advanced mode: simple mode hides the Scheduling sidebar entry. Everything here keeps working either way, and a hidden page still opens from a link. - [Stacks](https://zedensix.com/homerun/docs/stacks.md): A stack groups services together and gives them a shared, private Docker network, member services can reach each other by plain slug (http://api:8080), separate from the shared… - [Templates](https://zedensix.com/homerun/docs/templates.md): A template is a saved service config (image, tag, container port, env vars, CPU/ memory, and the runtime options: entrypoint, command, labels, run-as user, env files, added… - [Storage volumes](https://zedensix.com/homerun/docs/storage-volumes.md): A storage volume (/storage, Volumes under Storage in the sidebar) is a named source you define once, then mount into one or more services from each service's Storage tab: - [Volume backups](https://zedensix.com/homerun/docs/backups.md): Back up storage volumes to an S3-compatible bucket, an SFTP server, an SMB share or a WebDAV server, on a schedule or on demand, and restore them from the dashboard. - [Object storage](https://zedensix.com/homerun/docs/object-storage.md): Object Storage (needs the Object storage permission, under Storage in the sidebar) gives you S3 buckets without paying for a cloud: a built-in object store Homerun runs for you… - [Build servers & the Homerun Agent](https://zedensix.com/homerun/docs/remote-hosts-and-agent.md): Advanced mode: simple mode hides the Remote Hosts and Build Cache sidebar entries. Everything here keeps working either way, and a hidden page still opens from a link. - [Workstations](https://zedensix.com/homerun/docs/workstations.md): Workstations in the sidebar (Workspace) gives you a dev box in the browser: a container running a web IDE (code-server by default, VS Code in the browser, or openvscode-server)… - [Machine terminals](https://zedensix.com/homerun/docs/machine-terminals.md): Advanced mode: simple mode hides the Terminal sidebar entry. Everything here keeps working either way, and a hidden page still opens from a link. - [Users and roles](https://zedensix.com/homerun/docs/users-and-roles.md): Homerun has five roles, admin, developer, read-only, app access only and custom. Every dashboard account sees the same pool of resources, and what an account may do with it is… - [Authentication providers](https://zedensix.com/homerun/docs/authentication-providers.md): The Authentication page (Administration, needs the Users & authentication permission) is where sign-in methods are configured for the whole instance. It has three tabs: Sign-in… - [Your profile](https://zedensix.com/homerun/docs/your-profile.md): The profile pages (reached from the avatar menu, not the sidebar) are per account: - [Two-factor authentication and passkeys](https://zedensix.com/homerun/docs/two-factor-and-passkeys.md): Both live under Profile → Security. - [Per-app login wall](https://zedensix.com/homerun/docs/login-wall.md): A deployed service can require a login before anyone reaches it. Turn on Require login to access this app on the service's Security tab, under Login wall, or in the deploy wizard's… - [Blocked paths and IP bans](https://zedensix.com/homerun/docs/blocked-paths-and-ip-bans.md): Advanced mode: simple mode hides the Blocked paths panel (unless the service already blocks paths) and the IP bans settings tab. Everything here keeps working either way, and a… - [Sign in with Homerun](https://zedensix.com/homerun/docs/sign-in-with-homerun.md): Homerun is also an OpenID Connect (OIDC) provider. Apps you host can offer "Sign in with Homerun" using the same accounts as the dashboard, so you don't need to run Pocket ID… - [The dashboard](https://zedensix.com/homerun/docs/dashboard.md): / (Overview) is the landing page after sign-in, kept short on purpose: - [System Logs](https://zedensix.com/homerun/docs/system-logs.md): Advanced mode: simple mode hides the System Logs sidebar entry. Everything here keeps working either way, and a hidden page still opens from a link. - [Docker Cleanup](https://zedensix.com/homerun/docs/docker-cleanup.md): Advanced mode: simple mode hides the Docker Cleanup sidebar entry. Everything here keeps working either way, and a hidden page still opens from a link. - [Docker Registry](https://zedensix.com/homerun/docs/registry.md): Advanced mode: simple mode hides the Registry sidebar entry. Everything here keeps working either way, and a hidden page still opens from a link. - [Notifications](https://zedensix.com/homerun/docs/notifications.md): The bell in the header opens Notifications, a per-account feed of lifecycle events on every service, whoever created it (each account gets its own copy to read and clear): deploy… - [Status pages](https://zedensix.com/homerun/docs/status-pages.md): Status Page in the sidebar builds an uptime page out of your services' uptime probes. Each page has a name, a slug and an optional description, and covers one of three sets: every… - [Upgrading Homerun](https://zedensix.com/homerun/docs/upgrading.md): The sidebar shows the version you're running. Admins can click it any time to open an update-status dialog; a notice also appears there on its own when a newer GitHub release… - [API & CLI](https://zedensix.com/homerun/docs/api-and-cli.md): /api/v1/* is a thin, typed JSON wrapper over the same DTO layer the dashboard itself is built on: not a separate abstraction. Every route checks its own auth independently (a… - [MCP server for AI agents](https://zedensix.com/homerun/docs/mcp.md): Homerun serves an MCP server, so an AI agent such as Claude can diagnose and fix your services for you: read their logs, deploys and settings, change them, redeploy, roll back. - [Infrastructure as code](https://zedensix.com/homerun/docs/infrastructure-as-code.md): Homerun can be managed with Terraform, OpenTofu or Pulumi: stacks, services and every setting the dashboard has, plus the objects around them. The Infrastructure as Code page… ## Nuvio Web documentation Just Nuvio Web: https://zedensix.com/nuvio-web/llms.txt, or all of its guides in one file at https://zedensix.com/nuvio-web/llms-full.txt. - [Nuvio Web documentation](https://zedensix.com/nuvio-web/docs.md): An unofficial web client for Nuvio. Your profiles, addons, library and watch progress in a browser, with a player that streams, casts, downloads for offline, or hands off. - [Nuvio Web](https://zedensix.com/nuvio-web/docs/readme.md): Unofficial implementation of the Nuvio API in a web UI (since there is none, yet). - [Contributing](https://zedensix.com/nuvio-web/docs/contributing.md): The long-form documentation lives in docs/ and is published at . This file is the short version: what you need to get a change landed. - [Introduction](https://zedensix.com/nuvio-web/docs/introduction.md): Nuvio Web is an unofficial web UI for the Nuvio API. Nuvio ships a mobile app and a public API but no browser client, so this is one: sign in with the account you already use on… - [Showcase](https://zedensix.com/nuvio-web/docs/showcase.md): A tour of Nuvio Web, one screen at a time. Every title below is a Blender open movie, released under Creative Commons Attribution by the Blender Foundation and streamed from… - [Install](https://zedensix.com/nuvio-web/docs/install.md): Nuvio Web is distributed as a multi-arch Docker image (orochibraru/nuvio-web) for linux/amd64 and linux/arm64. There is no database to provision, but mount a volume on /app/data… - [Desktop app](https://zedensix.com/nuvio-web/docs/desktop.md): The desktop app is Nuvio Web with its own server built in: it starts that server on the computer's loopback address, waits for it to answer, and opens it in a native window. It… - [Configuration](https://zedensix.com/nuvio-web/docs/configuration.md): There is no configuration file. The container is configured entirely through environment variables, and for a normal install the only ones that matter say how it sits behind your… - [First run](https://zedensix.com/nuvio-web/docs/first-run.md): From a fresh container to a playing episode. - [Browsing](https://zedensix.com/nuvio-web/docs/browsing.md): Everything you can browse comes from an addon. With no addons installed, the home feed is empty and says so; see Addons. - [The player](https://zedensix.com/nuvio-web/docs/player.md): The source drawer lists every stream the addons returned for this title, with quality, codec, size and release details parsed out of each addon's stream label. Addons publish those… - [Downloads and offline](https://zedensix.com/nuvio-web/docs/downloads.md): Nuvio Web installs as an app and downloads titles so you can watch them without a connection: on a plane, on a train, or anywhere the Wi-Fi gives up. - [Addons](https://zedensix.com/nuvio-web/docs/addons.md): An addon is an HTTP service that publishes a manifest and answers requests for catalogs, metadata, streams and subtitles. Nuvio Web speaks the Stremio addon protocol, which is the… - [Library and sync](https://zedensix.com/nuvio-web/docs/library-and-sync.md): Library, watch progress and history are kept per profile on your Nuvio account, so they follow you between devices and between the web app and mobile. - [Profiles and settings](https://zedensix.com/nuvio-web/docs/profiles-and-settings.md): Profiles are your Nuvio account's profiles, with the same avatars you see on mobile. Picking one is required before the app will show you anything: library, progress, history… - [The admin page](https://zedensix.com/nuvio-web/docs/admin.md): /admin is a self-hosting surface, not a user feature. It shows how this instance is used, decides who may sign in and through which backend, and tells the admins when something… - [Your data and Nuvio](https://zedensix.com/nuvio-web/docs/sync.md): Library, watch progress and history live on this server, in its SQLite database, per account and per profile (an account on a backend other than the official Nuvio API is kept… - [Troubleshooting](https://zedensix.com/nuvio-web/docs/troubleshooting.md): Nothing saves: settings revert, library toggles snap back. The home feed is empty. An addon shows as unreachable. The video is black, or has no sound. Casting does not appear. Skip… - [Architecture](https://zedensix.com/nuvio-web/docs/architecture.md): Nuvio Web is one server process sitting between your browser and everything it needs: your Nuvio account, the Stremio addons you installed, a small local database, and a handful of… - [Services and the container](https://zedensix.com/nuvio-web/docs/services.md): src/lib/services/ holds the things that own state, dependencies, or a lifecycle: the database handle, the logger, the session cookie and the server-side session store behind it… - [The addon pipeline](https://zedensix.com/nuvio-web/docs/addon-pipeline.md): From "this profile has some addon URLs" to "this page has rows". - [The sync store](https://zedensix.com/nuvio-web/docs/sync-store.md): src/lib/sync/store.svelte.ts exports sync: a local-first mirror of library, watch progress and history, backed by IndexedDB, with an optimistic write queue and a background delta… - [Security](https://zedensix.com/nuvio-web/docs/security.md): Running this on the public internet is on you: put it behind HTTPS and whatever access control you would give any other self-hosted app. What follows is what the app does on its… - [Development](https://zedensix.com/nuvio-web/docs/development.md): Installing dependencies runs prek install, which wires three shims: pre-commit runs the fixers and checks, commit-msg enforces Conventional Commits, and pre-push runs the type… - [Testing](https://zedensix.com/nuvio-web/docs/testing.md): Three levels, each with a different job. - [The Nuvio API spec](https://zedensix.com/nuvio-web/docs/nuvio-api.md): Nuvio publishes its public API as prose markdown, not as a machine-readable document. Two scripts bridge the gap, and a daily CI job watches for drift. ## Bercail documentation Just Bercail: https://zedensix.com/bercail/llms.txt, or all of its guides in one file at https://zedensix.com/bercail/llms-full.txt. - [Bercail documentation](https://zedensix.com/bercail/docs.md): A start page for your homelab. Your links with a live up/down dot, the weather and your server’s vitals on top, and a new tab extension to open it everywhere. - [Bercail](https://zedensix.com/bercail/docs/readme.md): A self-hosted start page for your homelab. It shows the weather and your server's vitals at the top, and your links below, each with a live online/offline indicator. - [Installation](https://zedensix.com/bercail/docs/installation.md): Data lives in a SQLite file under /app/data. Database migrations run automatically on startup. - [Configuration](https://zedensix.com/bercail/docs/configuration.md): Everything is optional. For local development, copy .env.example to .env. - [Features](https://zedensix.com/bercail/docs/features.md): The page refreshes its stats every 5 seconds. Drag a section by the grip in its left margin to reorder the dashboard; the order is saved on the server. - [Weather location](https://zedensix.com/bercail/docs/weather.md): The first of these that is set wins: - [Sign-in](https://zedensix.com/bercail/docs/sign-in.md): Without OIDC_ISSUER the app is open to anyone who can reach it. With it, every page asks for a sign-in through your provider (Pocket ID, Authentik, Authelia, Keycloak, ...)… - [Host metrics](https://zedensix.com/bercail/docs/host-metrics.md): A metric that can't be read shows N/A without affecting the others. - [New tab extension](https://zedensix.com/bercail/docs/extension.md): The extension in extension/ shows your Bercail instance on every new tab. - [Development](https://zedensix.com/bercail/docs/development.md): Requires Bun. prek comes in as a dev dependency. - [Releases](https://zedensix.com/bercail/docs/releases.md): Every merge to main goes through releaser. A feat, fix, perf, refactor or docs commit cuts a patch release: it updates CHANGELOG.md, tags vX.Y.Z, creates the GitHub release with… ## OpenCount documentation Just OpenCount: https://zedensix.com/opencount/llms.txt, or all of its guides in one file at https://zedensix.com/opencount/llms-full.txt. - [OpenCount documentation](https://zedensix.com/opencount/docs.md): Who paid, who owes, how to settle up. A self-hosted Tricount that installs on your phone like an app. One container, one SQLite file. - [OpenCount](https://zedensix.com/opencount/docs/readme.md): Split expenses with friends, see who owes whom, settle up. A self-hosted, open-source alternative to Tricount that installs on your phone like an app. - [Contributing](https://zedensix.com/opencount/docs/contributing.md): The long-form documentation lives in docs/ and is published at . This file is the short version: what you need to get a change landed. - [Introduction](https://zedensix.com/opencount/docs/introduction.md): OpenCount is a self-hosted, open-source alternative to Tricount. People make a group for a trip, a flat or a dinner, log who paid for what, and see who owes whom and how to settle… - [Showcase](https://zedensix.com/opencount/docs/showcase.md): A tour of OpenCount, one screen at a time. Desktop screens are shown in the dark theme at 1440 by 900, phone screens in the light theme at 390 by 844. Every name, group and amount… - [Install](https://zedensix.com/opencount/docs/install.md): OpenCount is distributed as a multi-arch Docker image (orochibraru/opencount) for linux/amd64 and linux/arm64. It needs one volume, mounted on /data, which holds the SQLite… - [Configuration](https://zedensix.com/opencount/docs/configuration.md): There is no configuration file. The container reads a few environment variables at boot, and everything else (sign-ups, sign-in methods, email, receipt reading) is set by an admin… - [First run](https://zedensix.com/opencount/docs/first-run.md): From a fresh container to a first settled bill. - [Groups and members](https://zedensix.com/opencount/docs/groups-and-members.md): A group is one shared pot: a trip, a flat, a dinner, a club. Everything else (expenses, balances, categories, merchants, repeating expenses) belongs to one group, and only its… - [Expenses](https://zedensix.com/opencount/docs/expenses.md): An expense says who paid how much, when, for what, and who it was for. A group opens on its expenses, newest first, 50 at a time: Load more shows the next ones. The balances and… - [Balances and settling up](https://zedensix.com/opencount/docs/balances-and-settling.md): A member's balance is what they paid minus their share of everything. Positive, they are owed money; negative, they owe; zero, they are square. Every balance in a group adds up to… - [Repeating expenses](https://zedensix.com/opencount/docs/recurring-expenses.md): Rent, a subscription, the weekly groceries run: an expense that comes back on a schedule. Set it once and the server adds each copy on its date. - [Categories and merchants](https://zedensix.com/opencount/docs/categories-and-merchants.md): Every expense has a category, and can have a merchant. Both feed Insights, and both are filled in for you most of the time. - [Scanning receipts](https://zedensix.com/opencount/docs/receipts.md): When an admin has turned receipt reading on, the expense sheet offers Scan a receipt while you add an expense. Pick a photo or a PDF and OpenCount fills in what it can read. - [Insights](https://zedensix.com/opencount/docs/insights.md): Each group's Insights page shows where its money went. - [Personal expenses and bank sync](https://zedensix.com/opencount/docs/personal-and-banks.md): Personal is a private list of your own expenses. Nobody else sees it, not the other members of your groups and not the admin. It is in the bottom tab bar on a phone and the sidebar… - [AI apps](https://zedensix.com/opencount/docs/ai-apps.md): Claude, ChatGPT and Gemini can sort your personal expenses, and those of the groups you're in, into categories for you. OpenCount runs an MCP server at /mcp on your instance, and… - [Archiving](https://zedensix.com/opencount/docs/archiving.md): Done with a trip? Archive its group and it leaves your groups list. - [Your account](https://zedensix.com/opencount/docs/accounts-and-appearance.md): Account holds five sections: profile, security, appearance, notifications and bank sync. Signing out is at the bottom of it. - [The admin area](https://zedensix.com/opencount/docs/admin.md): Admin is where an instance is run from: who gets in, how they sign in, email, receipt reading and backups. It shows in the navigation for admins only; anyone else who opens its URL… - [Sign-in and single sign-on](https://zedensix.com/opencount/docs/sign-in-and-sso.md): Admin, Sign-in methods decides how people get in: email and password, passkeys, and any number of OpenID Connect providers. Password and passkey sign-in are on by default; there is… - [Email](https://zedensix.com/opencount/docs/email.md): OpenCount sends these emails: invites, sign-up verification codes, password reset links, the code that confirms a new address and the notice to the old one, sign-in links and… - [Receipt reading](https://zedensix.com/opencount/docs/receipt-reading.md): Receipt reading turns a photo or a PDF of a receipt into a prefilled expense: amount, date and merchant. It is off by default, optional, and entirely local. What members see is on… - [Backups and upgrades](https://zedensix.com/opencount/docs/backups-and-upgrades.md): What to back up. Taking a backup. Restoring. Upgrading. Downgrading. Why migrations are append-only. - [Logs, traces and errors](https://zedensix.com/opencount/docs/observability.md): OpenCount writes logs to the container's output, and can send traces to an OpenTelemetry collector and errors to a Sentry-compatible service. Traces and error reporting are off… - [Troubleshooting](https://zedensix.com/opencount/docs/troubleshooting.md): The container exits at boot. Every form fails: "Cross-site POST form submissions are forbidden". I lost the setup code. The setup screen sends me to sign-in. Sign-ups won't turn… - [Development](https://zedensix.com/opencount/docs/development.md): Without mise: bun install, copy .env.example to .env, and replace AUTH_SECRET with the output of openssl rand -base64 32. - [Architecture](https://zedensix.com/opencount/docs/architecture.md): How OpenCount is put together, and why. - [Testing](https://zedensix.com/opencount/docs/testing.md): The suite runs on Bun's own test runner, with no Vitest and no Jest. It covers the domain logic (splits, balances, settle-up, recurrence, insights, receipt parsing, the category… ## releaser documentation Just releaser: https://zedensix.com/releaser/llms.txt, or all of its guides in one file at https://zedensix.com/releaser/llms-full.txt. - [releaser documentation](https://zedensix.com/releaser/docs.md): semantic-release without the plugins, the config or node_modules. Conventional commits in; version, changelog, tag and GitHub release out. One static Go binary. - [releaser](https://zedensix.com/releaser/docs/readme.md): semantic-release without the plugins, the config, or node_modules. One static Go binary, zero dependencies. - [Getting Started](https://zedensix.com/releaser/docs/getting-started.md): Release on every push to main, straight from your commit messages. No config file, no plugins. - [Inputs and Flags](https://zedensix.com/releaser/docs/options.md): Every action input maps to a CLI flag of the same name. - [Migrating from semantic-release](https://zedensix.com/releaser/docs/migrating.md): Delete .releaserc.json, the plugins in package.json and the npx semantic-release step. Each plugin maps to built-in behavior or one input. - [Release Flows](https://zedensix.com/releaser/docs/flows.md): Two inputs pick how releases reach main. Neither is the default. - [Versioning](https://zedensix.com/releaser/docs/versioning.md): Commit format. Rules. Tags. Release notes. - [Artifact Mode](https://zedensix.com/releaser/docs/artifacts.md): Attach build outputs to the GitHub release. - [Docker Mode](https://zedensix.com/releaser/docs/docker.md): Build ./Dockerfile and push it tagged with the release version. - [Canaries and Release PR](https://zedensix.com/releaser/docs/trunk.md): For trunk-based development: every push to main ships a canary, and a release PR carries the next stable version. Merging the PR releases it. - [Architecture](https://zedensix.com/releaser/docs/architecture.md): Only the Go standard library is used. git and, in Docker mode, docker must be on PATH. ## Baba documentation Just Baba: https://zedensix.com/baba/llms.txt, or all of its guides in one file at https://zedensix.com/baba/llms-full.txt. - [Baba documentation](https://zedensix.com/baba/docs.md): The lookout. Watches CPU, load, memory, disk, temps and GPU, then pings Discord or Telegram when something breaks, and again when it heals. - [Baba](https://zedensix.com/baba/docs/readme.md): Docs · Docker Hub · Releases - [Contributing](https://zedensix.com/baba/docs/contributing.md): Prerequisites. Running locally. Tests. Adding a notifier. Release process. - [Getting started](https://zedensix.com/baba/docs/getting-started.md): Install baba on a Linux or macOS server, point it at Discord or Telegram, and leave it running. - [Docker](https://zedensix.com/baba/docs/docker.md): The orochibraru/baba image (linux/amd64 and linux/arm64) runs baba start and checks its own health with baba health. It needs to see the host, not the container, so it runs… - [Configuration file](https://zedensix.com/baba/docs/config.md): All settings below live in config.json (/var/lib/baba/config.json, or --config, or BABA_CONFIG_PATH). Unknown fields are ignored, so check the spelling of every key. Every field is… - [Environment Variables](https://zedensix.com/baba/docs/env.md): Every setting in config.json can be overridden with an environment variable. Values are applied before validation, so type coercion and defaults still apply. - [Checks](https://zedensix.com/baba/docs/checks.md): Every intervalSeconds, baba reads each enabled check once, one after the other, and logs a status line: - [Notifiers](https://zedensix.com/baba/docs/notifiers.md): notifiers in config.json is the only required setting: a list of places to send alerts. List several, of either type; every alert goes to all of them. - [Background service](https://zedensix.com/baba/docs/service.md): baba install registers /usr/local/bin/baba start as a service that starts on its own and restarts on crash. It needs /var/lib/baba/config.json, so run baba setup first. - [Incidents](https://zedensix.com/baba/docs/incidents.md): baba doesn't alert on every high reading. It opens an incident once a metric has breached its threshold enough times in a row, reminds you while it lasts, and tells you when it's… - [CLI reference](https://zedensix.com/baba/docs/commands.md): Flags go before or after arguments, with one or two dashes (-config and --config are the same). Every command exits with 1 and prints baba: on stderr when it fails. - [Updates](https://zedensix.com/baba/docs/updates.md): Asks GitHub for the latest stable release. When it's newer than the running version, it downloads baba--.gz, and swaps it in place of the running binary (following… - [Troubleshooting](https://zedensix.com/baba/docs/troubleshooting.md): Start with baba health: it names the part that's broken. logLevel: "debug" (or BABA_LOG_LEVEL=debug) logs every reading, breach count and incident decision. - [Architecture](https://zedensix.com/baba/docs/architecture.md): baba is one Go binary built from the standard library only: no modules, no cgo, no runtime to install. It was a Bun app until its binaries grew too big; the Go build is about 7 MB… ## @orochibraru/ui documentation Just @orochibraru/ui: https://zedensix.com/ui/llms.txt, or all of its guides in one file at https://zedensix.com/ui/llms-full.txt. - [@orochibraru/ui documentation](https://zedensix.com/ui/docs.md): The components and theme behind all my apps, in one package instead of six drifting copies. shadcn-svelte primitives, data-in components, app blocks, and an MCP server. - [@orochibraru/ui](https://zedensix.com/ui/docs/readme.md): Svelte 5 components and the theme shared by OpenCount, LocalAssistant, Homerun, Sergio's, Nuvio Web and Penombre: the shadcn-svelte primitives (vega style) as these apps customised… ## LocalAssistant documentation Just LocalAssistant: https://zedensix.com/localassistant/llms.txt, or all of its guides in one file at https://zedensix.com/localassistant/llms-full.txt. - [LocalAssistant documentation](https://zedensix.com/localassistant/docs.md): Blinds, heat pumps, radiators, cameras and energy on one page, on a server you run. A few integrations done properly instead of thousands done loosely. - [LocalAssistant](https://zedensix.com/localassistant/docs/readme.md): Your blinds, heat pumps, radiators, cameras and energy on one page, on a server you run. A small, self-hosted alternative to Home Assistant that installs on your phone like an app. - [Contributing](https://zedensix.com/localassistant/docs/contributing.md): The long-form documentation lives in docs/. This file is the short version: what you need to get a change landed. - [Introduction](https://zedensix.com/localassistant/docs/introduction.md): LocalAssistant controls a household's blinds and heat pumps from one page, on a server you run. It does a few integrations properly instead of thousands loosely: Tuya blinds and… - [Install](https://zedensix.com/localassistant/docs/install.md): LocalAssistant is one container. Its /data volume holds the SQLite database: accounts, devices, their encrypted keys and installed plugins. Back it up with AUTH_SECRET. - [Configuration](https://zedensix.com/localassistant/docs/configuration.md): Environment variables cover what the server needs at boot. Everything else (devices, invites, sign-in methods, email) is set in the app's admin area. - [First run](https://zedensix.com/localassistant/docs/first-run.md): A fresh instance sends every page to the setup screen. It asks for a six-digit code only the server's log shows, valid 15 minutes: - [Health and updates](https://zedensix.com/localassistant/docs/maintenance.md): Back up LocalAssistant from the server, not the app: the /data volume holds everything (the SQLite database, installed integrations and camera recordings). Snapshot or copy it with… - [Integrations](https://zedensix.com/localassistant/docs/integrations.md): Every kind of device LocalAssistant talks to comes from an integration: a small plugin hosted on GitHub, GitLab, Gitea or Forgejo, or kept in a folder. The official ones (Tuya… - [Tuya blinds](https://zedensix.com/localassistant/docs/tuya-blinds.md): LocalAssistant talks to each blind directly on your network with the Tuya local protocol, encrypted with the blind's own local key. The Tuya cloud is only needed once, to read that… - [Mitsubishi heat pumps](https://zedensix.com/localassistant/docs/mitsubishi.md): Mitsubishi Electric units with a Wi-Fi adapter (MAC-567IF and friends) are driven through MELCloud, with the account the MELCloud app uses. The password is stored encrypted with… - [Bambu Lab printers](https://zedensix.com/localassistant/docs/bambu.md): LocalAssistant talks to a Bambu Lab printer (P1P, P1S and the other models with the same LAN protocol) over its local MQTT broker, with the printer's access code. No Bambu account… - [Zigbee and Shelly](https://zedensix.com/localassistant/docs/zigbee.md): Door and window sensors, radiator valves, relays, metering plugs and the ZLinky reader come in through Zigbee2MQTT, and Shelly meters through the same MQTT broker. LocalAssistant… - [Cameras](https://zedensix.com/localassistant/docs/cameras.md): Any camera with a local RTSP stream: a Tapo with a camera account set in its app, a Reolink, most ONVIF cameras. Devices, Add a device, Cameras (RTSP), Add the camera with its RTSP… - [More devices](https://zedensix.com/localassistant/docs/more-devices.md): Devices, Add a device, Dreame robot vacuums, sign in with the Dreamehome app's email, password and region. The robots on the account come in with their state and battery, and… - [AI apps](https://zedensix.com/localassistant/docs/ai-apps.md): Claude, ChatGPT and Gemini can see your house and drive its devices through LocalAssistant's MCP server at /mcp. Each person connects their own app; it acts as them. - [Mobile app](https://zedensix.com/localassistant/docs/mobile-app.md): LocalAssistant has a native app for Android and iPhone, built with Kotlin Multiplatform. It shows the house, drives devices, watches cameras, makes and sets scenes, runs routines… - [Weather](https://zedensix.com/localassistant/docs/weather.md): Home opens on the time and the weather: the temperature, what it feels like, today's low and high, sunrise and sunset. The weather comes from Open-Meteo, free and without a key. - [Routines](https://zedensix.com/localassistant/docs/automations.md): The server runs every routine, whether or not anyone has the app open: the worker checks the clock-driven ones once a minute, and device routines the moment a device reports… - [Notifications](https://zedensix.com/localassistant/docs/notifications.md): LocalAssistant sends push notifications to the phones, tablets and computers each person turned them on for: Account, Notifications, Turn on for this device. On an iPhone or iPad… - [Dashboards](https://zedensix.com/localassistant/docs/dashboards.md): A dashboard is a page of your own: the devices, scenes and graphs you use together, in the order you want. Only you see yours; everyone makes their own. - [History and logbook](https://zedensix.com/localassistant/docs/history.md): The worker keeps 30 days of what the devices did, without anyone having the app open. - [Energy](https://zedensix.com/localassistant/docs/energy.md): Energy charts what the house and each appliance used, per day over the last 30 days and per month over the last 12. The worker snapshots every meter's counter every 15 minutes and… - [Wall panel](https://zedensix.com/localassistant/docs/wall-panel.md): A screen for a tablet on the wall or a Shelly Wall Display: the clock, the weather, the doors and windows left open, big open and close buttons for each room's blinds with its… - [Development](https://zedensix.com/localassistant/docs/development.md): The dev server migrates ./data/localassistant.sqlite and starts the worker under watch. Delete the file to start over; the setup code is in the dev server's output. - [Writing an integration](https://zedensix.com/localassistant/docs/plugins.md): An integration is a GitHub repository (or a folder in one) with a localassistant-plugin.json manifest and the code it names. LocalAssistant builds the setup forms from the… ## Optional - [RSS feed](https://zedensix.com/feed.xml): new posts, as they are written. - [Sitemap](https://zedensix.com/sitemap.xml): every canonical URL on the site. - [GitHub](https://github.com/zedensix?tab=repositories): the source for all of it.