mirror of
https://github.com/Retropex/umbrel-apps.git
synced 2025-05-12 11:20:43 +02:00
App Submission: Dockge (#1106)
Co-authored-by: FlyinPancake <FlyinPancake@users.noreply.github.com> Co-authored-by: highghlow <132668972+highghlow@users.noreply.github.com> Co-authored-by: nmfretz <nmfretz@gmail.com> Co-authored-by: joaovictor.local <me@joaovictor.email>
This commit is contained in:
parent
84a2919110
commit
9dc50f8b79
0
dockge/data/docker/.gitkeep
Normal file
0
dockge/data/docker/.gitkeep
Normal file
0
dockge/data/dockge-data/.gitkeep
Normal file
0
dockge/data/dockge-data/.gitkeep
Normal file
0
dockge/data/dockge-stacks/.gitkeep
Normal file
0
dockge/data/dockge-stacks/.gitkeep
Normal file
37
dockge/docker-compose.yml
Normal file
37
dockge/docker-compose.yml
Normal file
@ -0,0 +1,37 @@
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: dockge_dockge_1
|
||||
APP_PORT: 5001
|
||||
|
||||
docker:
|
||||
image: docker:24.0.5-dind@sha256:3c6e4dca7a63c9a32a4e00da40461ce067f255987ccc9721cf18ffa087bcd1ef
|
||||
privileged: true
|
||||
network_mode: host
|
||||
stop_grace_period: 1m
|
||||
restart: on-failure
|
||||
environment:
|
||||
DOCKER_ENSURE_BRIDGE: "dind0:10.32.0.1/16"
|
||||
entrypoint: /entrypoint.sh
|
||||
command: >
|
||||
dockerd
|
||||
--bridge dind0
|
||||
--data-root /data/data
|
||||
--exec-root /data/exec
|
||||
--host unix:///data/docker.sock
|
||||
--pidfile /data/docker.pid
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/entrypoint.sh:/entrypoint.sh
|
||||
- ${APP_DATA_DIR}/data/docker:/data
|
||||
|
||||
dockge:
|
||||
image: louislam/dockge:1.4.2@sha256:ec889251baff476366783bc4a092aaa08c601f377537a0f30fb922754edcd9b7
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/docker:/var/run
|
||||
- ${APP_DATA_DIR}/data/dockge-data:/app/data
|
||||
- ${APP_DATA_DIR}/data/dockge-stacks:/opt/stacks
|
||||
environment:
|
||||
DOCKGE_STACKS_DIR: /opt/stacks
|
47
dockge/entrypoint.sh
Executable file
47
dockge/entrypoint.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This hack can be removed if https://github.com/docker-library/docker/pull/444 gets merged.
|
||||
|
||||
# Remove docker pidfile if it exists to ensure Docker can start up after a bad shutdown
|
||||
pidfile="/var/run/docker.pid"
|
||||
if [[ -f "${pidfile}" ]]
|
||||
then
|
||||
rm -f "${pidfile}"
|
||||
fi
|
||||
|
||||
# Use nftables as the backend for iptables
|
||||
for command in iptables iptables-restore iptables-restore-translate iptables-save iptables-translate
|
||||
do
|
||||
ln -sf /sbin/xtables-nft-multi /sbin/$command
|
||||
done
|
||||
|
||||
# Ensure that a bridge exists with the given name
|
||||
ensure_bridge_exists() {
|
||||
local name="${1}"
|
||||
local ip_range="${2}"
|
||||
|
||||
# Check if the bridge already exists
|
||||
if ip link show "${name}" &>/dev/null
|
||||
then
|
||||
echo "Bridge '${name}' already exists. Skipping creation."
|
||||
ip addr show "${name}"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "Bridge '${name}' does not exist. Creating..."
|
||||
ip link add "${name}" type bridge
|
||||
ip addr add "${ip_range}" dev "${name}"
|
||||
ip link set "${name}" up
|
||||
|
||||
echo "Bridge '${name}' is now up with IP range '${ip_range}'."
|
||||
ip addr show "${name}"
|
||||
}
|
||||
|
||||
if [[ "${DOCKER_ENSURE_BRIDGE}" != "" ]]
|
||||
then
|
||||
bridge="${DOCKER_ENSURE_BRIDGE%%:*}"
|
||||
ip_range="${DOCKER_ENSURE_BRIDGE#*:}"
|
||||
ensure_bridge_exists "${bridge}" "${ip_range}"
|
||||
fi
|
||||
|
||||
exec dockerd-entrypoint.sh $@
|
51
dockge/umbrel-app.yml
Normal file
51
dockge/umbrel-app.yml
Normal file
@ -0,0 +1,51 @@
|
||||
manifestVersion: 1
|
||||
id: dockge
|
||||
category: developer
|
||||
name: Dockge
|
||||
version: "1.4.2"
|
||||
tagline: Easy to use Docker Compose manager
|
||||
description: >-
|
||||
⚠️ Make sure to only use named Docker volumes in your Compose files. Data in bind-mounted volumes
|
||||
will be lost when Dockge is restarted or updated.
|
||||
|
||||
|
||||
⚠️ Watch out for port conflicts between your custom Docker containers and your umbrelOS apps.
|
||||
|
||||
|
||||
Dockge is a fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager to run custom Docker
|
||||
containers. It has an interactive editor for compose files and can convert docker run commands into docker-compose.yaml.
|
||||
|
||||
|
||||
🛠️ Dockge on Umbrel is for power users, follow these best practices to avoid issues:
|
||||
|
||||
|
||||
1. Data persistence: Make sure to only used named Docker volumes in your Compose files. Data in bind-mounted
|
||||
volumes will be lost when Dockge is restarted or updated.
|
||||
|
||||
|
||||
2. Port management: Watch out for potential port conflicts between your custom containers and umbrelOS' service containers,
|
||||
apps you have installed from the Umbrel App Store or Community App Stores, and any apps you go to install in the future.
|
||||
|
||||
|
||||
3. Container restart policy: Set your containers to "unless-stopped" or "always" restart policies. This will allow your containers
|
||||
to restart automatically when Dockge is restarted or updated.
|
||||
|
||||
|
||||
4. Web access to containers: Access your custom containers in your browser at umbrel.local:PORT_NUMBER. For example, for a container
|
||||
with a web UI running on port 4545, navigate to umbrel.local:4545 to access it.
|
||||
website: https://dockge.kuma.pet
|
||||
dependencies: []
|
||||
repo: https://github.com/louislam/dockge
|
||||
support: https://github.com/louislam/dockge/issues
|
||||
port: 5005
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
releaseNotes: ""
|
||||
developer: Louis Lam
|
||||
submitter: FlyinPancake
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/1106
|
Loading…
Reference in New Issue
Block a user