feat: docker compose files for new homelab services

This commit is contained in:
theoleuthardt 2025-08-19 16:52:22 +00:00
parent c63c73e20f
commit 78f4f39789
30 changed files with 1337 additions and 21 deletions

107
dockploy/install-chatgpt.sh Normal file
View file

@ -0,0 +1,107 @@
#!/bin/bash
install_dokploy() {
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" >&2
exit 1
fi
if [ "$(uname)" = "Darwin" ]; then
echo "This script must be run on Linux" >&2
exit 1
fi
if [ -f /.dockerenv ]; then
echo "This script must be run on Linux" >&2
exit 1
fi
command_exists() {
command -v "$@" > /dev/null 2>&1
}
if command_exists docker; then
echo "Docker already installed"
else
curl -sSL https://get.docker.com | sh
fi
if command_exists docker compose; then
echo "Docker Compose already installed"
else
echo "Installing Docker Compose..."
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
fi
mkdir -p /etc/dokploy
chmod 777 /etc/dokploy
cat <<EOF > /etc/dokploy/docker-compose.yml
services:
postgres:
image: postgres:16
container_name: dokploy-postgres
environment:
POSTGRES_USER: dokploy
POSTGRES_DB: dokploy
POSTGRES_PASSWORD: amukds4wi9001583845717ad2
volumes:
- dokploy-postgres-database:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
container_name: dokploy-redis
volumes:
- redis-data-volume:/data
restart: unless-stopped
dokploy:
image: dokploy/dokploy:latest
container_name: dokploy
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/dokploy:/etc/dokploy
- dokploy-docker-config:/root/.docker
environment:
- ADVERTISE_ADDR=\${ADVERTISE_ADDR}
restart: unless-stopped
volumes:
dokploy-postgres-database:
redis-data-volume:
dokploy-docker-config:
EOF
export ADVERTISE_ADDR=$(hostname -I | awk '{print $1}')
echo "Using advertise address: $ADVERTISE_ADDR"
cd /etc/dokploy
docker compose up -d
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
BLUE="\033[0;34m"
NC="\033[0m"
echo ""
printf "${GREEN}Congratulations, Dokploy is installed using Docker Compose!${NC}\n"
printf "${YELLOW}Please go to http://localhost:3000 or http://<your-server-ip>:3000${NC}\n\n"
}
update_dokploy() {
echo "Updating Dokploy..."
cd /etc/dokploy
docker compose pull dokploy
docker compose up -d
echo "Dokploy has been updated to the latest version."
}
if [ "$1" = "update" ]; then
update_dokploy
else
install_dokploy
fi