Easily Run docker apps on Ugreen, QNAP, Synology with Guided forms
7.6K
TSG EasyDocker is a lightweight web utility that helps you install Docker applications using guided forms. It is built for home users, NAS users, and anyone who wants a simpler way to deploy apps without dealing with docker compose YAML or long docker run commands.
EasyDocker reads curated app recipes and presents them as easy web forms, with most values already filled in, so you can deploy apps with much less friction.
From a user's point of view, EasyDocker is simple:
That's it.
No writing Docker Compose files. No building docker run commands. EasyDocker handles the repetitive setup work so you can get an app running quickly and easily.
EasyDocker helps you:
I wrote EasyDocker primarily with UGREEN NAS users in mind, but it works anywhere Docker and Docker Compose are available, including:
EasyDocker stores generated app configurations inside the base config directory you mount into the container.
For example, if you run EasyDocker with:
-v /base_config:/base_config
then EasyDocker stores app-specific configuration inside that location. Each deployed app gets its own folder under the base config path, including its generated docker-compose.yml and related saved configuration.
For example, an Immich deployment would typically be stored under:
/base_config/tsg_immich
This makes it easier to inspect, back up, and redeploy saved configurations later.
EasyDocker is a Docker management utility, so it should be treated as a trusted local-network tool.
EASYDOCKER_PASSWORD before running itEasyDocker is available on Docker Hub:
Pull the latest image with:
docker pull kajain99/easydocker:latest
You can run EasyDocker using either docker run or docker compose.
Run EasyDocker with Docker:
docker run -d \
-p 5000:5000 \
-e EASYDOCKER_PASSWORD=your-strong-password \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /base_config:/base_config \
--name easydocker \
kajain99/easydocker:latest
Create a docker-compose.yml file like this:
services:
easydocker:
image: kajain99/easydocker:latest
container_name: easydocker
ports:
- "5000:5000"
environment:
EASYDOCKER_PASSWORD: your-strong-password
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /base_config:/base_config
restart: unless-stopped
Then start it with:
docker compose up -d
After that, open:
http://YOUR-SERVER-IP:5000
Default username:
admin
Password:
the value you set in EASYDOCKER_PASSWORD
You can also set:
EASYDOCKER_USERNAME
EASYDOCKER_PASSWORD
EASYDOCKER_HOST
EASYDOCKER_PORT
EASYDOCKER_BASE_CONFIG
EASYDOCKER_SECRET_KEY
Typical example:
docker run -d \
-p 5000:5000 \
-e EASYDOCKER_USERNAME=admin \
-e EASYDOCKER_PASSWORD=your-strong-password \
-e EASYDOCKER_SECRET_KEY=your-long-random-secret \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /base_config:/base_config \
--name easydocker \
kajain99/easydocker:latest
EASYDOCKER_SECRET_KEY is optional but recommended. It is used by Flask to securely sign session data such as login sessions and CSRF-related session values. Setting it to a long random value gives you a more stable and secure deployment.
EasyDocker uses a recipe-based model. Each supported app has a recipe that defines things like:
When you choose an app in the UI, EasyDocker builds a form from that recipe, generates the Compose file, stores it in the base config folder, and can deploy it immediately.
EasyDocker refreshes recipes from the official EasyDocker recipes repository:
This keeps application releases separate from recipe updates.
EasyDocker is meant to be:
It is not trying to be:
Operations like start, stop, restart, and delete are not handled inside EasyDocker. Those are expected to be managed from your NAS container manager or Docker environment.
This project is licensed under the MIT License.
Content type
Image
Digest
sha256:096412912…
Size
86.6 MB
Last updated
3 months ago
docker pull kajain99/easydocker