Enhance basic-instalations.sh for Docker installation on Linux, adding WSL support and improving dependency installation steps. Clean up docker-compose.yaml by removing unused healthcheck configurations for Redis service.
This commit is contained in:
59
basic-instalations.sh
Normal file → Executable file
59
basic-instalations.sh
Normal file → Executable file
@@ -5,42 +5,71 @@ set -e
|
|||||||
echo "🛠️ Detecting OS..."
|
echo "🛠️ Detecting OS..."
|
||||||
OS=$(uname -s)
|
OS=$(uname -s)
|
||||||
|
|
||||||
|
is_wsl() {
|
||||||
|
grep -qi microsoft /proc/version 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
install_docker_linux() {
|
install_docker_linux() {
|
||||||
echo "🔧 Installing Docker on Linux..."
|
echo "🔧 Installing Docker on Linux..."
|
||||||
|
|
||||||
# Remove old versions
|
# Remove old versions
|
||||||
sudo apt-get remove -y docker docker-engine docker.io containerd runc || true
|
sudo apt-get remove -y docker docker-engine docker.io containerd runc || true
|
||||||
|
|
||||||
# Install dependencies
|
# Install required tools
|
||||||
|
echo "📦 Installing dependencies..."
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
gnupg \
|
gnupg \
|
||||||
lsb-release
|
lsb-release \
|
||||||
|
apt-transport-https
|
||||||
|
|
||||||
# Add Docker's official GPG key
|
# Ensure folders exist
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
sudo mkdir -p /etc/apt/keyrings /etc/apt/sources.list.d
|
||||||
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
|
# Add Docker GPG key
|
||||||
|
echo "🔑 Adding Docker GPG key..."
|
||||||
|
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg | \
|
||||||
|
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
|
||||||
# Add Docker's repo
|
# Add Docker repository
|
||||||
|
echo "📄 Adding Docker repository..."
|
||||||
echo \
|
echo \
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
|
||||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \
|
||||||
|
$(lsb_release -cs) stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
|
||||||
# Install Docker and Compose
|
# Install Docker
|
||||||
|
echo "📦 Installing Docker Engine & Compose..."
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
sudo apt-get install -y \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-buildx-plugin \
|
||||||
|
docker-compose-plugin
|
||||||
|
|
||||||
# Enable and start Docker
|
if ! is_wsl; then
|
||||||
sudo systemctl enable docker
|
echo "🔄 Enabling and starting Docker service..."
|
||||||
sudo systemctl start docker
|
sudo systemctl enable docker
|
||||||
|
sudo systemctl start docker
|
||||||
|
else
|
||||||
|
echo "⚠️ Skipping systemctl steps (running in WSL)"
|
||||||
|
fi
|
||||||
|
|
||||||
# Add user to docker group
|
echo "👥 Adding user '$USER' to docker group..."
|
||||||
sudo usermod -aG docker "$USER"
|
sudo usermod -aG docker "$USER"
|
||||||
|
|
||||||
echo "✅ Docker installed. Please log out and log back in for docker group to take effect."
|
echo "✅ Docker installed successfully!"
|
||||||
|
echo ""
|
||||||
|
if is_wsl; then
|
||||||
|
echo "🔁 Please restart your WSL session: run 'wsl --shutdown' in PowerShell or close your terminal."
|
||||||
|
else
|
||||||
|
echo "🔁 Please log out and log back in for the docker group to take effect."
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_docker_windows_message() {
|
install_docker_windows_message() {
|
||||||
|
|||||||
@@ -239,8 +239,6 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
phoenix-redis:
|
|
||||||
condition: service_healthy
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "curl -s http://phoenix-system:3000/health | grep -q '\"admin-api\":{\"status\":\"up\"}' && curl -s http://phoenix-system:3000/health | grep -q '\"database\":{\"status\":\"up\"}'"] # Checks both admin-api and database status
|
test: ["CMD-SHELL", "curl -s http://phoenix-system:3000/health | grep -q '\"admin-api\":{\"status\":\"up\"}' && curl -s http://phoenix-system:3000/health | grep -q '\"database\":{\"status\":\"up\"}'"] # Checks both admin-api and database status
|
||||||
interval: 10s # Time between each health check
|
interval: 10s # Time between each health check
|
||||||
@@ -338,14 +336,6 @@ services:
|
|||||||
# reservations: # Guaranteed minimum resources for the container
|
# reservations: # Guaranteed minimum resources for the container
|
||||||
# cpus: "0.05" # Reserved CPU cores (5% of one core)
|
# cpus: "0.05" # Reserved CPU cores (5% of one core)
|
||||||
# memory: 32M # Reserved memory (32 megabytes)
|
# memory: 32M # Reserved memory (32 megabytes)
|
||||||
healthcheck:
|
|
||||||
test: [
|
|
||||||
"CMD-SHELL",
|
|
||||||
"redis-cli --no-auth-warning -a ${REDIS_PASSWORD} ping | grep PONG && test -w /bitnami/redis/data"
|
|
||||||
]
|
|
||||||
interval: 5s
|
|
||||||
retries: 10
|
|
||||||
timeout: 5s
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
Reference in New Issue
Block a user