#!/bin/bash HOST_BASE="/opt/gbo/tenants/$PARAM_TENANT/bot" HOST_DATA="$HOST_BASE/data" HOST_CONF="$HOST_BASE/conf" HOST_LOGS="$HOST_BASE/logs" mkdir -p "$HOST_DATA" "$HOST_CONF" "$HOST_LOGS" chmod -R 750 "$HOST_BASE" lxc launch images:debian/12 "$PARAM_TENANT"-bot -c security.privileged=true sleep 15 lxc exec "$PARAM_TENANT"-bot -- bash -c " apt-get update && apt-get install -y \ build-essential cmake git pkg-config libjpeg-dev libtiff-dev \ libpng-dev libavcodec-dev libavformat-dev libswscale-dev \ libv4l-dev libatlas-base-dev gfortran python3-dev cpulimit \ expect libxtst-dev libpng-dev sudo apt-get install -y libcairo2-dev libpango1.0-dev libgif-dev librsvg2-dev sudo apt install xvfb -y sudo apt install -y \ libnss3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxkbcommon0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libasound2 \ libpangocairo-1.0-0 export OPENCV4NODEJS_DISABLE_AUTOBUILD=1 export OPENCV_LIB_DIR=/usr/lib/x86_64-linux-gnu useradd --system --no-create-home --shell /bin/false bot " BOT_UID=$(lxc exec "$PARAM_TENANT"-bot -- id -u bot) BOT_GID=$(lxc exec "$PARAM_TENANT"-bot -- id -g bot) HOST_BOT_UID=$((100000 + BOT_UID)) HOST_BOT_GID=$((100000 + BOT_GID)) chown -R "$HOST_BOT_UID:$HOST_BOT_GID" "$HOST_BASE" lxc config device add "$PARAM_TENANT"-bot botdata disk source="$HOST_DATA" path=/opt/gbo/data lxc config device add "$PARAM_TENANT"-bot botconf disk source="$HOST_CONF" path=/opt/gbo/conf lxc config device add "$PARAM_TENANT"-bot botlogs disk source="$HOST_LOGS" path=/opt/gbo/logs lxc exec "$PARAM_TENANT"-bot -- bash -c " mkdir -p /opt/gbo/data /opt/gbo/conf /opt/gbo/logs chown -R bot:bot /opt/gbo/data /opt/gbo/conf /opt/gbo/logs sudo apt install -y curl gnupg ca-certificates curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - sudo apt install -y nodejs cd /opt/gbo/data git clone https://alm.pragmatismo.com.br/generalbots/botserver.git cd botserver npm i ./node_modules/.bin/tsc npx puppeteer browsers install cat > /etc/systemd/system/bot.service </dev/null || true lxc config device add "$PARAM_TENANT"-bot bot-proxy proxy \ listen=tcp:0.0.0.0:"$PARAM_BOT_PORT" \ connect=tcp:127.0.0.1:"$PARAM_BOT_PORT"