Compare commits

..

6 Commits
wip ... 1.0.0

Author SHA1 Message Date
c5d3b23af2 Update README.md 2023-11-12 01:55:11 +08:00
b12056aa83 Update README.md 2023-11-12 00:34:21 +08:00
6ad11277e0 Update README 2023-11-12 00:27:05 +08:00
ab48866ae6 Update Docker 2023-11-11 23:43:53 +08:00
d55d7c62a2 Fix 2023-11-11 23:43:25 +08:00
6749e343ba Init (#1) 2023-11-11 22:18:37 +08:00
4 changed files with 30 additions and 5 deletions

View File

@ -8,6 +8,8 @@ A fancy, easy-to-use and reactive docker `compose.yaml` stack-oriented manager.
<img src="https://github.com/louislam/dockge/assets/1336778/26a583e1-ecb1-4a8d-aedf-76157d714ad7" width="900" alt="" />
[View Video](https://youtu.be/AWAlOQeNpgU?t=48)
## ⭐ Features
- Manage `compose.yaml`
@ -18,6 +20,10 @@ A fancy, easy-to-use and reactive docker `compose.yaml` stack-oriented manager.
- Easy-to-use & fancy UI
- If you love Uptime Kuma's UI/UX, you will love this too
- Convert `docker run ...` commands into `compose.yaml`
- File based structure
- Dockge won't kidnap your compose files, they stored on your drive as usual. You can interact with them using normal `docker compose` commands
<img src="https://github.com/louislam/dockge/assets/1336778/cc071864-592e-4909-b73a-343a57494002" width=300 />
## 🔧 How to Install
@ -31,7 +37,8 @@ Requirements:
### Basic
Default stacks directory is `/opt/stacks`.
- Default Stacks Directory: `/opt/stacks`
- Default Port: 5001
```
# Create a directory that stores your stacks and stores dockge's compose.yaml
@ -48,11 +55,13 @@ docker compose up -d
# docker-compose up -d
```
Dockge is now running on http://localhost:5001
### Advanced
If you want to store your stacks in another directory, you can change the `DOCKGE_STACKS_DIR` environment variable and volumes.
For exmaples, if you want to store your stacks in `/my-stacks`:
For example, if you want to store your stacks in `/my-stacks`:
```yaml
version: "3.8"
@ -61,10 +70,14 @@ services:
image: louislam/dockge:1
restart: unless-stopped
ports:
# Host Port:Container Port
- 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
# If you want to use private registries, you need to share the auth file with Dockge:
# - /root/.docker/:/root/.docker
# Your stacks directory in the host
# (The paths inside container must be the same as the host)
@ -82,6 +95,15 @@ docker compose pull
docker compose up -d
```
## Screenshots
![](https://github.com/louislam/dockge/assets/1336778/7139e88c-77ed-4d45-96e3-00b66d36d871)
![](https://github.com/louislam/dockge/assets/1336778/f019944c-0e87-405b-a1b8-625b35de1eeb)
![](https://github.com/louislam/dockge/assets/1336778/a4478d23-b1c4-4991-8768-1a7cad3472e3)
## Motivations
- I have been using Portainer for some time, but for the stack management, I am sometimes not satisfied with it. For example, sometimes when I try to deploy a stack, the loading icon keeps spinning for a few minutes without progress. And sometimes error messages are not clear.
@ -98,7 +120,7 @@ If you love this project, please consider giving this project a ⭐.
The naming idea was coming from Twitch emotes like `sadge`, `bedge` or `wokege`. They are all ending with `-ge`.
If you are not comfortable with the pronunciation, you can call it `Dockage`
If you are not comfortable with the pronunciation, you can call it `Dockage`.
#### Can I manage a single container without `compose.yaml`?

View File

@ -7,6 +7,9 @@ services:
# Host Port : Container Port
- 5001:5001
volumes:
# If you want to use private registries, you need to share the auth file with Dockge:
# - /root/.docker/:/root/.docker
# Docker Socket
- /var/run/docker.sock:/var/run/docker.sock
# Dockge Config

View File

@ -115,7 +115,7 @@
{{ $tc("network", 2) }}
</label>
<div v-if="networkList.length === 0 && service.networks.length > 0" class="text-warning mb-3">
<div v-if="networkList.length === 0 && service.networks && service.networks.length > 0" class="text-warning mb-3">
No networks available. You need to add internal networks or enable external networks in the right side first.
</div>

View File

@ -10,7 +10,7 @@
"dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts",
"build:frontend": "vite build --config ./frontend/vite.config.ts",
"build:docker-base": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:base -f ./docker/Base.Dockerfile . --push",
"build:docker": "pnpm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:latest -t louislam/dockge:1 -t louislam/dockge:1.0.0 -f ./docker/Dockerfile . --push",
"build:docker": "pnpm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:latest -t louislam/dockge:1 -t louislam/dockge:1.0.0 --target release -f ./docker/Dockerfile . --push",
"build:docker-nightly": "pnpm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:nightly --target nightly -f ./docker/Dockerfile . --push",
"start-docker": "docker run --rm -p 5001:5001 --name dockge louislam/dockge:latest",
"mark-as-nightly": "tsx ./extra/mark-as-nightly.ts"