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
- Host: GitHub
- URL: https://github.com/smashingtags/homelabarr-ce
- Owner: smashingtags
- License: mit
- Created: 2025-09-13T04:47:01.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-03-27T04:56:41.000Z (3 months ago)
- Last Synced: 2026-03-27T12:47:43.249Z (3 months ago)
- Topics: containers, docker, docker-compose, homelab, media-server, plex, react, self-hosted, typescript
- Language: TypeScript
- Homepage: https://wiki.homelabarr.com/
- Size: 16.8 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# HomelabARR CE
Your homelab, one dashboard.
---
## 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.
---
## 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.
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 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.