addedd a install script and a redme file
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
BASE_DIR="/home/miles"
|
||||
# List of folders to create based on your docker-compose
|
||||
FOLDERS=(
|
||||
"code-config" "projects" "homarr-data" "navidrome-data"
|
||||
"navidrome-music" "trilium-data" "gitea-data" "roms"
|
||||
"romm-data" "ntfy-cache" "qbittorrent-config" "downloads"
|
||||
)
|
||||
|
||||
# --- 1. INSTALL DOCKER ---
|
||||
if ! [ -x "$(command -v docker)" ]; then
|
||||
echo "🚀 Docker not found. Installing..."
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sudo sh get-docker.sh
|
||||
sudo usermod -aG docker $USER
|
||||
echo "✅ Docker installed. (Note: You may need to logout and back in for group changes to take effect)"
|
||||
else
|
||||
echo "✅ Docker is already installed."
|
||||
fi
|
||||
|
||||
# --- 2. CREATE FOLDERS ---
|
||||
echo "📂 Creating directory structure..."
|
||||
for folder in "${FOLDERS[@]}"; do
|
||||
mkdir -p "$BASE_DIR/$folder"
|
||||
done
|
||||
# Set permissions to PUID 1000
|
||||
sudo chown -R $USER:$USER $BASE_DIR/
|
||||
echo "✅ Folders created and permissions set to user $USER."
|
||||
|
||||
# --- 3. MANAGEMENT MENU ---
|
||||
show_menu() {
|
||||
echo "------------------------------------------"
|
||||
echo " HOME SERVER MANAGEMENT MENU"
|
||||
echo "------------------------------------------"
|
||||
echo "1) Start/Update Stack (Up -d)"
|
||||
echo "2) Stop Stack (Down)"
|
||||
echo "3) View Logs (Follow)"
|
||||
echo "4) Update Images (Pull)"
|
||||
echo "5) Check Container Status"
|
||||
echo "6) Exit"
|
||||
echo "------------------------------------------"
|
||||
}
|
||||
|
||||
while true; do
|
||||
show_menu
|
||||
read -p "Choose an option [1-6]: " choice
|
||||
case $choice in
|
||||
1) docker compose up -d ;;
|
||||
2) docker compose down ;;
|
||||
3) docker compose logs -f --tail=50 ;;
|
||||
4) docker compose pull && docker compose up -d ;;
|
||||
5) docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" ;;
|
||||
6) exit 0 ;;
|
||||
*) echo "Invalid option. Try again." ;;
|
||||
esac
|
||||
done
|
||||
Reference in New Issue
Block a user