An open API service indexing awesome lists of open source software.

https://github.com/smashingtags/homelabarr-ce

Free, open-source Docker container management for homelabs. 157+ apps, one-click deploy. CE Demo: ce-demo.homelabarr.com | PE Demo: demo.homelabarr.com | homelabarr.com | imogenlabs.ai | mjashley.com | Discord: discord.gg/Pc7mXX786x
https://github.com/smashingtags/homelabarr-ce

containers docker docker-compose homelab media-server plex react self-hosted typescript

Last synced: 3 months ago
JSON representation

Free, open-source Docker container management for homelabs. 157+ apps, one-click deploy. CE Demo: ce-demo.homelabarr.com | PE Demo: demo.homelabarr.com | homelabarr.com | imogenlabs.ai | mjashley.com | Discord: discord.gg/Pc7mXX786x

Awesome Lists containing this project

README

          

# HomelabARR CE



HomelabARR CE

Your homelab, one dashboard.



Release


MIT License


Discord


Documentation


Reddit



CodeQL


Snyk



CE Demo


HomelabARR


Imogen Labs

---

## Project Status

> **Community-maintained.** HomelabARR CE is stable and actively used. New features go through the `dev` branch → `staging` → `main`. PRs welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).

---

## What is HomelabARR?

You know how setting up self-hosted apps usually means Googling Docker Compose files, copying YAML, editing ports, and hoping it works? HomelabARR skips all of that.

It's a dashboard. You open it, you see a catalog of 100+ apps, you click **Deploy**, and the app is running. That's it.

Plex, Sonarr, Radarr, Jellyfin, Ollama, Home Assistant, qBittorrent — they're all in there, ready to go.

**Free and open source.** MIT license. No account required. No telemetry.


HomelabARR Dashboard

---

## Try It Right Now

Don't want to install anything yet? [**Open the live demo →**](https://ce-demo.homelabarr.com)

Login: `admin` / `admin`. Browse apps, click around. Nothing you do in the demo touches a real server.

---

## Install It (5 minutes)

You need a Linux machine with Docker installed. You don't need to write Compose files, but you do need basic shell access to your server.

```bash
# 1. Grab the code (cloning to /opt/homelabarr is recommended — it matches the default template path)
git clone https://github.com/smashingtags/homelabarr-ce.git /opt/homelabarr
cd /opt/homelabarr

# 2. Set three things (copy-paste these exactly)
export JWT_SECRET=$(openssl rand -base64 32)
export DOCKER_GID=$(getent group docker | cut -d: -f3)
export CORS_ORIGIN=http://$(hostname -I | awk '{print $1}'):8084

# 3. Start it
docker compose -f homelabarr.yml up -d
```

Open `http://your-server-ip:8084` in a browser. Log in with `admin` / `admin`. **Change the password right away** — or set `DEFAULT_ADMIN_PASSWORD` in your `.env` before first start if this won't be a throwaway local install.

That's the whole install.

> 💾 **For a permanent setup**, move those exports into a `.env` file in the same directory as `homelabarr.yml` instead of re-running them on every reboot. See the [configuration docs](https://wiki.homelabarr.com/guides/configuration/) for the full list of options.

> 📁 **Cloned somewhere other than `/opt/homelabarr`?** Set `CLI_BRIDGE_HOST_PATH` in your `.env` to match your clone path, or the app catalog won't load.

> 💡 **Don't have Docker?** Run `curl -fsSL https://get.docker.com | sh` first. Takes about a minute.

> ⚠️ **Running in a Proxmox LXC?** You might need to add `lxc.apparmor.profile: unconfined` to the container config. See the [FAQ](https://wiki.homelabarr.com/guides/faq/) for details.

Want to build from source instead? Check the [full install guide](https://wiki.homelabarr.com/guides/quick-start/).

---

## What You Get

- **100+ apps, one click each.** Media servers, download clients, monitoring, AI tools, virtual desktops, backup, and more.
- **Three ways to deploy.** Just IP:port, or with Traefik reverse proxy for SSL, or Traefik + Authelia for 2FA on top.
- **Manage running containers.** Start, stop, restart, remove, view logs — all from the dashboard.
- **Port Manager.** See every port in use across all your containers. Catch conflicts before they happen.
- **Add your own apps.** Drop a YAML file in `apps/myapps/` and it shows up in the catalog automatically.
- **Secure by default.** Login required, API keys for automation, rate limiting, security headers.
- **Dark mode.** Obviously.
- **Mobile app.** iOS and Android — manage your homelab from the couch.
- **CLI tool.** If you'd rather type than click, there's a terminal interface too.

---

## What Apps Are Included?

| Category | # | Some highlights |
|----------|---|-----------------|
| 🤖 AI & Machine Learning | 14 | Ollama, Open WebUI, ComfyUI, Stable Diffusion, LocalAI |
| 🎬 Media Servers | 5 | Plex, Jellyfin, Emby |
| 📚 Media Management | 16 | Sonarr, Radarr, Lidarr, Bazarr, Prowlarr |
| ⬇️ Downloads | 14 | qBittorrent, SABnzbd, NZBGet, Deluge, Transmission |
| 📊 Monitoring | 9 | Grafana, Netdata, Uptime Kuma, Tautulli |
| 🌐 Self-hosted | 37 | Nextcloud, Vaultwarden, Immich, Home Assistant, n8n |
| ⚙️ System | 13 | Portainer, Dozzle, Watchtower, Traefik |
| 🖥️ Virtual Desktops | 10 | Kasm Workspaces, Firefox, Chrome, Tor Browser |
| 🎞️ Transcoding | 5 | Tdarr, Handbrake, MakeMKV |
| 💾 Backup | 3 | Duplicati, Restic |
| 📁 My Apps | — | Whatever you add |

Every template is just a Docker Compose YAML file in `apps//`. You can read them, edit them, or write your own.

---

## What Does It Look Like Inside?

Two containers. That's the whole thing.

| Piece | What it does | Port |
|-------|-------------|------|
| **Frontend** | The dashboard you see in your browser. React app served by nginx. | 8084 |
| **Backend** | Reads app templates, talks to Docker, handles login. Node.js + Express. | 8092 |

The frontend sends API requests to the backend. The backend talks to the Docker socket to start and stop containers. Simple.


How it works

Want the deep dive? [Architecture docs →](https://wiki.homelabarr.com/guides/architecture/)

---

## Settings You Might Want to Change

| Setting | Do you need it? | What it does |
|---------|----------------|-------------|
| `JWT_SECRET` | **Yes** | Keeps your login secure. The install command generates one for you. |
| `DOCKER_GID` | **Yes** | Tells the backend which group can talk to Docker. The install command figures this out. |
| `CORS_ORIGIN` | **Yes** | The URL you open the dashboard at. If login won't work, this is probably wrong. |
| `DEFAULT_ADMIN_PASSWORD` | Optional | Change the default password (it's `admin` if you don't set this). |
| `TZ` | Optional | Your timezone. Defaults to `America/New_York`. |

All the config options: [wiki.homelabarr.com/guides/configuration](https://wiki.homelabarr.com/guides/configuration/)

---

## Repo Structure

```
homelabarr-ce/
├── src/ # React frontend (Vite + shadcn/ui)
├── server/ # Node.js + Express backend
├── apps/ # App templates (one YAML per app, organized by category)
│ ├── ai/ # AI & machine learning tools
│ ├── downloads/ # Download clients
│ ├── media-servers/
│ ├── self-hosted/
│ ├── myapps/ # ← your custom templates go here
│ └── ...
├── wiki/ # Source for wiki.homelabarr.com (MkDocs)
├── .github/ # CI workflows, issue/PR templates, security policy
├── traefik/ # Example Traefik config for reverse proxy setup
├── homelabarr.yml # The Docker Compose file you run
└── nginx.conf # nginx config baked into the frontend image
```

---

## Want to Hack on It?

```bash
npm install
npm run dev # Runs the dashboard on :5173 and the API on :8092
npm run build # Build for production
npm test # Run the test suite
```

See [CONTRIBUTING.md](CONTRIBUTING.md) for how to submit changes.

---

## Security

We scan this project with four different tools, automatically, on every push:

| Tool | What it checks |
|------|---------------|
| [CodeQL](https://github.com/smashingtags/homelabarr-ce/security/code-scanning) | The actual code — injection bugs, XSS, that kind of thing |
| [Snyk](https://snyk.io/test/github/smashingtags/homelabarr-ce) | Every npm package and Docker base image for known vulnerabilities |
| [Dependabot](https://github.com/smashingtags/homelabarr-ce/security/dependabot) | Outdated packages that have security patches available |
| [Docker Scout](https://hub.docker.com/r/smashingtags/homelabarr-frontend) | The finished container images, plus supply chain attestations |


Frontend Scout Score A


Frontend image — Scout Score A

Containers run as a non-root user. All the usual security headers are on. Rate limiting is on. Session tokens use `crypto.randomBytes`, not `Math.random`.

Found a vulnerability? Email **michael@mjashley.com** — see [SECURITY.md](SECURITY.md).

---

## Want More? Check Out the Pro Edition

CE handles Docker containers. **PE** (Professional Edition) adds storage management — SnapRAID + MergerFS + cache mover + file sharing + system monitoring.

If you've got a bunch of mismatched hard drives and want to turn them into a storage pool without RAID, that's what PE is for.

[See pricing →](https://homelabarr.com#pricing)

---

## Links

| | |
|---|---|
| 🌐 **Website** | [homelabarr.com](https://homelabarr.com) |
| 📖 **Docs** | [wiki.homelabarr.com](https://wiki.homelabarr.com) |
| 🎮 **Demo** | [ce-demo.homelabarr.com](https://ce-demo.homelabarr.com) — log in with admin / admin |
| 💬 **Discord** | [discord.gg/Pc7mXX786x](https://discord.gg/Pc7mXX786x) |
| 📣 **Reddit** | [r/homelabarr](https://www.reddit.com/r/homelabarr/) |
| 🏢 **Company** | [imogenlabs.ai](https://imogenlabs.ai) |
| 👤 **Author** | [mjashley.com](https://mjashley.com) |

---

## Contributors


smashingtags


FSCorrupt


DrAg0n141


Aelfa


cyb3rgh05t


justinglock40


mrfret


DoCtEuR3805


brtbach


ramsaytc


Shayne


Nossersvinet


Ookla, Ariel, Ride!


James Townsend


Red Daut


DomesticWarlord

## License

[MIT](LICENSE) — do whatever you want with it.