#!/usr/bin/env bash # Tetraklinik AI Thinking - Secure On-Premise Docker Installer # Usage: curl -sSL https://archive-bin.tetraklinik.my.id/install.sh | sudo bash set -e ARCHIVE_URL="https://archive-bin.tetraklinik.my.id" INSTALL_DIR="/opt/aithinking" echo "=== Tetraklinik AI Thinking Docker Installer ===" if [ "$EUID" -ne 0 ]; then echo "[-] Harap jalankan installer ini sebagai root (sudo)." exit 1 fi # 1. Cek dan install Docker otomatis jika belum ada if ! command -v docker &> /dev/null; then echo "[*] Docker belum terpasang. Mengunduh dan memasang Docker secara otomatis..." curl -fsSL https://get.docker.com | sh systemctl enable --now docker echo "[+] Docker berhasil dipasang." else echo "[+] Docker sudah terpasang." fi # 2. Cek Docker Compose plugin if ! docker compose version &> /dev/null && ! command -v docker-compose &> /dev/null; then echo "[*] Memasang Docker Compose plugin..." apt-get update && apt-get install -y docker-compose-plugin || true fi echo "[1/4] Membuat direktori kerja di $INSTALL_DIR..." mkdir -p "$INSTALL_DIR" cd "$INSTALL_DIR" echo "[2/4] Mengunduh paket rilis lengkap (.tar.gz) dari Ruang Arsip..." curl -fSL "$ARCHIVE_URL/archive-release.tar.gz" -o archive.tar.gz tar -xzf archive.tar.gz rm -f archive.tar.gz echo "[3/4] Menyiapkan konfigurasi node unik..." NODE_ID="NODE-$(cat /etc/machine-id | sha256sum | head -c 16)" # Perbarui NODE_PLACEHOLDER di docker-compose.yml dengan NODE_ID asli sed -i "s/NODE_PLACEHOLDER/$NODE_ID/g" docker-compose.yml 2>/dev/null || true echo "[4/4] Membangun dan menjalankan layanan di dalam Docker..." docker compose up -d --build echo "=== Instalasi Selesai! ===" echo "Node ID Anda : $NODE_ID" echo "Aplikasi aktif di port 8080 (Docker)." echo "Cek status: docker ps"