Update rybbit-install.sh

This commit is contained in:
CanbiZ 2025-11-17 09:34:47 +01:00
parent 70746d36dc
commit 99134217f4

View File

@ -13,13 +13,6 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies"
$STD apt install -y \
caddy \
apt-transport-https \
ca-certificates
msg_ok "Installed Dependencies"
setup_clickhouse setup_clickhouse
PG_VERSION=17 setup_postgresql PG_VERSION=17 setup_postgresql
NODE_VERSION="24" NODE_MODULE="next" setup_nodejs NODE_VERSION="24" NODE_MODULE="next" setup_nodejs
@ -27,32 +20,97 @@ PG_DB_NAME="rybbit_db" PG_DB_USER="rybbit" setup_postgresql_db
fetch_and_deploy_gh_release "rybbit" "rybbit-io/rybbit" "tarball" "latest" "/opt/rybbit" fetch_and_deploy_gh_release "rybbit" "rybbit-io/rybbit" "tarball" "latest" "/opt/rybbit"
msg_info "Installing Rybbit" msg_info "Building Rybbit Shared Module"
cd /opt/rybbit/shared cd /opt/rybbit/shared
npm install $STD npm install
npm run build $STD npm run build
msg_ok "Built Shared Module"
msg_info "Building Rybbit Server"
cd /opt/rybbit/server cd /opt/rybbit/server
npm ci $STD npm ci
npm run build $STD npm run build
msg_ok "Built Server"
msg_info "Building Rybbit Client"
cd /opt/rybbit/client cd /opt/rybbit/client
npm ci --legacy-peer-deps NEXT_PUBLIC_BACKEND_URL="http://localhost:3001" \
npm run build NEXT_PUBLIC_DISABLE_SIGNUP="false" \
$STD npm ci --legacy-peer-deps
$STD npm run build
msg_ok "Built Client"
mv /opt/rybbit/.env.example /opt/rybbit/.env msg_info "Configuring Rybbit"
sed -i "s|^POSTGRES_DB=.*|POSTGRES_DB=$PG_DB_NAME|g" /opt/rybbit/.env CONTAINER_IP=$(hostname -I | awk '{print $1}')
sed -i "s|^POSTGRES_USER=.*|POSTGRES_USER=$PG_DB_USER|g" /opt/rybbit/.env BETTER_AUTH_SECRET=$(openssl rand -hex 32)
sed -i "s|^POSTGRES_PASSWORD=.*|POSTGRES_PASSWORD=$PG_DB_PASS|g" /opt/rybbit/.env
sed -i "s|^DOMAIN_NAME=.*|DOMAIN_NAME=localhost|g" /opt/rybbit/.env
sed -i "s|^BASE_URL=.*|BASE_URL=\"http://localhost\"|g" /opt/rybbit/.env
msg_ok "Rybbit Installed"
msg_info "Setting up Caddy" cat >/opt/rybbit/.env <<EOF
mkdir -p /etc/caddy # Database Configuration
cp /opt/rybbit/Caddyfile /etc/caddy/Caddyfile POSTGRES_HOST=localhost
systemctl enable -q --now caddy POSTGRES_PORT=5432
msg_ok "Caddy Setup" POSTGRES_DB=$PG_DB_NAME
POSTGRES_USER=$PG_DB_USER
POSTGRES_PASSWORD=$PG_DB_PASS
CLICKHOUSE_HOST=http://localhost:8123
CLICKHOUSE_DB=analytics
CLICKHOUSE_PASSWORD=
# Application Configuration
NODE_ENV=production
BASE_URL=http://${CONTAINER_IP}:3002
BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
DISABLE_SIGNUP=false
DISABLE_TELEMETRY=true
MAPBOX_TOKEN=
EOF
msg_ok "Configured Rybbit"
msg_info "Creating Rybbit Services"
cat >/etc/systemd/system/rybbit-server.service <<EOF
[Unit]
Description=Rybbit Server
After=network.target postgresql.service clickhouse-server.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/rybbit/server
EnvironmentFile=/opt/rybbit/.env
ExecStart=/usr/bin/node /opt/rybbit/server/dist/index.js
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
cat >/etc/systemd/system/rybbit-client.service <<EOF
[Unit]
Description=Rybbit Client
After=network.target rybbit-server.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/rybbit/client
Environment="NODE_ENV=production"
Environment="NEXT_PUBLIC_BACKEND_URL=http://${CONTAINER_IP}:3001"
Environment="NEXT_PUBLIC_DISABLE_SIGNUP=false"
Environment="PORT=3002"
Environment="HOSTNAME=0.0.0.0"
ExecStart=/usr/bin/node /opt/rybbit/client/.next/standalone/server.js
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable -q --now rybbit-server.service
systemctl enable -q --now rybbit-client.service
msg_ok "Created and Started Rybbit Services"
motd_ssh motd_ssh
customize customize