A modern, web-based Docker container management interface for media server stacks
1.2K
StackArr is a lightweight, self-hosted web application for managing Docker containers with a focus on media server stacks (Plex, Sonarr, Radarr, qBittorrent, etc.). Built with Go and featuring a clean, modern interface, it makes Docker container management accessible without requiring command-line expertise.
StackArr includes ready-to-deploy templates for:


The easiest way to run StackArr is pulling the pre-built image from Docker Hub:
docker run -d \
--name stackarr \
-p 8877:8877 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v stackarr-data:/app/data \
-v /mnt:/mnt \
--restart unless-stopped \
danielvanniekerk/stackarr:latest
Using docker-compose:
version: '3.8'
services:
stackarr:
image: danielvanniekerk/stackarr:latest
container_name: stackarr
ports:
- "8877:8877"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- stackarr-data:/app/data
- /mnt:/mnt
restart: unless-stopped
volumes:
stackarr-data:
Access StackArr at http://localhost:8877
Important Notes:
/var/run/docker.sock to manage Docker containers/mnt or your media paths so containers created by StackArr can access themstackarr-data volume persists your database and container configurations at /app/dataVersion Pinning:
You can use specific version tags instead of latest:
docker pull danielvanniekerk/stackarr:1.0.0 # Specific version
docker pull danielvanniekerk/stackarr:1.0 # Minor version
docker pull danielvanniekerk/stackarr:1 # Major version
docker pull danielvanniekerk/stackarr:latest # Latest release
If you prefer to build from source:
# Clone the repository
git clone https://github.com/daniel-van-niekerk/stackarr.git
cd stackarr
# Start with docker-compose
docker-compose up -d
Build and run StackArr as a standalone binary:
# Clone the repository
git clone https://github.com/daniel-van-niekerk/stackarr.git
cd stackarr
# Build the binary
go build -o stackarr ./cmd/stackarr
# Run StackArr
./stackarr
StackArr will start on http://localhost:8877 by default.
http://localhost:8877If you lose access to your admin account, you can reset all users using an environment variable:
Docker:
docker stop stackarr
docker run -d \
--name stackarr \
-e RESET_USER=confirm-delete-user \
-p 8877:8877 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v stackarr-data:/app/data \
danielvanniekerk/stackarr:latest
Docker Compose:
services:
stackarr:
image: danielvanniekerk/stackarr:latest
environment:
- RESET_USER=confirm-delete-user
# ... other configuration
Binary:
RESET_USER=confirm-delete-user ./stackarr
Important:
confirm-delete-user (case-sensitive)http://localhost:8877 to create a new admin accountQuick Start (Recommended)
Custom Containers
StackArr supports both Bridge and Host network modes for containers:
8877:8877)Best for:
Best for:
Note: If you're running StackArr on Windows or WSL and need to use a service that requires host mode (like Plex), consider using bridge mode with the necessary ports mapped. This provides better compatibility while still achieving the desired functionality.
StackArr includes built-in backup and restore functionality to protect your configuration and database:
Creating a Backup
Restoring from a Backup
Important Notes
Toggle between light and dark themes using the sun/moon button in the header. Your preference is saved per user.
StackArr uses SQLite for data storage and creates the following directory structure:
/app/data/
├── stackarr.db # Database file
└── compose/ # Docker-compose files for each container
├── plex.yml
├── sonarr.yml
└── ...
You can change the port by setting the PORT environment variable:
PORT=3000 ./stackarr
# Clone the repository
git clone https://github.com/daniel-van-niekerk/stackarr.git
cd stackarr
# Install dependencies
go mod download
# Run in development mode
go run ./cmd/stackarr
# Build for production
go build -ldflags="-s -w" -o stackarr ./cmd/stackarr
go test ./...
/var/run/docker.sock)127.0.0.1 (localhost only)For remote access, use a reverse proxy like nginx or Caddy with HTTPS:
server {
listen 443 ssl;
server_name stackarr.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:8877;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Content type
Image
Digest
sha256:a4c6fe3af…
Size
21.4 MB
Last updated
6 months ago
docker pull danielvanniekerk/stackarr