Compare commits

..

6 Commits
wip ... 1.0.0

Author SHA1 Message Date
Louis Lam
c5d3b23af2 Update README.md 2023-11-12 01:55:11 +08:00
Louis Lam
b12056aa83 Update README.md 2023-11-12 00:34:21 +08:00
Louis Lam
6ad11277e0 Update README 2023-11-12 00:27:05 +08:00
Louis Lam
ab48866ae6 Update Docker 2023-11-11 23:43:53 +08:00
Louis Lam
d55d7c62a2 Fix 2023-11-11 23:43:25 +08:00
Louis Lam
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="" /> <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 ## ⭐ Features
- Manage `compose.yaml` - 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 - Easy-to-use & fancy UI
- If you love Uptime Kuma's UI/UX, you will love this too - If you love Uptime Kuma's UI/UX, you will love this too
- Convert `docker run ...` commands into `compose.yaml` - 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 ## 🔧 How to Install
@@ -31,7 +37,8 @@ Requirements:
### Basic ### 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 # 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 # docker-compose up -d
``` ```
Dockge is now running on http://localhost:5001
### Advanced ### Advanced
If you want to store your stacks in another directory, you can change the `DOCKGE_STACKS_DIR` environment variable and volumes. 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 ```yaml
version: "3.8" version: "3.8"
@@ -61,11 +70,15 @@ services:
image: louislam/dockge:1 image: louislam/dockge:1
restart: unless-stopped restart: unless-stopped
ports: ports:
# Host Port:Container Port
- 5001:5001 - 5001:5001
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data - ./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 # Your stacks directory in the host
# (The paths inside container must be the same as the host) # (The paths inside container must be the same as the host)
- /my-stacks:/my-stacks - /my-stacks:/my-stacks
@@ -82,6 +95,15 @@ docker compose pull
docker compose up -d 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 ## 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. - 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`. 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`? #### Can I manage a single container without `compose.yaml`?

View File

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

View File

@@ -115,7 +115,7 @@
{{ $tc("network", 2) }} {{ $tc("network", 2) }}
</label> </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. No networks available. You need to add internal networks or enable external networks in the right side first.
</div> </div>

View File

@@ -10,7 +10,7 @@
"dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts", "dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts",
"build:frontend": "vite build --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-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", "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", "start-docker": "docker run --rm -p 5001:5001 --name dockge louislam/dockge:latest",
"mark-as-nightly": "tsx ./extra/mark-as-nightly.ts" "mark-as-nightly": "tsx ./extra/mark-as-nightly.ts"