#!/bin/bash set -e # Create directories echo "Creating directories..." INSTALL_DIR="/opt/gbo" mkdir -p "$INSTALL_DIR" sudo chmod -R 777 "$INSTALL_DIR" mkdir -p "$INSTALL_DIR/bin" mkdir -p "$INSTALL_DIR/bin/bot" mkdir -p "$INSTALL_DIR/bin/mail" mkdir -p "$INSTALL_DIR/bin/tabular" mkdir -p "$INSTALL_DIR/bin/object" mkdir -p "$INSTALL_DIR/bin/directory" mkdir -p "$INSTALL_DIR/bin/alm" mkdir -p "$INSTALL_DIR/bin/webserver" mkdir -p "$INSTALL_DIR/bin/meeting" mkdir -p "$INSTALL_DIR/config" mkdir -p "$INSTALL_DIR/data" mkdir -p "$INSTALL_DIR/data/tabular" mkdir -p "$INSTALL_DIR/data/object" mkdir -p "$INSTALL_DIR/data/mail" mkdir -p "$INSTALL_DIR/data/directory" mkdir -p "$INSTALL_DIR/data/alm" mkdir -p "$INSTALL_DIR/data/webserver" mkdir -p "$INSTALL_DIR/data/meeting" mkdir -p "$INSTALL_DIR/logs" mkdir -p "$INSTALL_DIR/certs" mkdir -p "$INSTALL_DIR/config" mkdir -p "$INSTALL_DIR/data" # Install system dependencies echo "Installing system dependencies..." sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common \ gnupg \ wget \ unzip \ tar \ postgresql-client \ redis-tools echo "System dependencies installed" # Download PostgreSQL binary (using the official package) echo "Downloading PostgreSQL..." if [ ! -d "$INSTALL_DIR/postgresql" ]; then mkdir -p "$INSTALL_DIR/postgresql" wget -O "$INSTALL_DIR/postgresql/postgresql.tar.gz" "https://get.enterprisedb.com/postgresql/postgresql-14.10-1-linux-x64-binaries.tar.gz" tar -xzf "$INSTALL_DIR/postgresql/postgresql.tar.gz" -C "$INSTALL_DIR/postgresql" --strip-components=1 rm "$INSTALL_DIR/postgresql/postgresql.tar.gz" mkdir -p "$INSTALL_DIR/data/postgresql" fi # Download Zitadel binary echo "Downloading Zitadel..." if [ ! -d "$INSTALL_DIR/zitadel" ]; then mkdir -p "$INSTALL_DIR/zitadel" # Get latest release URL ZITADEL_LATEST=$(curl -s https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "browser_download_url.*linux_amd64.tar.gz" | cut -d '"' -f 4) wget -O "$INSTALL_DIR/zitadel/zitadel.tar.gz" "$ZITADEL_LATEST" tar -xzf "$INSTALL_DIR/zitadel/zitadel.tar.gz" -C "$INSTALL_DIR/zitadel" rm "$INSTALL_DIR/zitadel/zitadel.tar.gz" mkdir -p "$INSTALL_DIR/data/zitadel" # Create default Zitadel config cat > "$INSTALL_DIR/config/zitadel.yaml" < "$INSTALL_DIR/config/redpanda.yaml" < "$INSTALL_DIR/config/vector.toml" <