Update maxun-install.sh

This commit is contained in:
CanbiZ 2025-04-03 13:35:33 +02:00
parent f5ee6a1613
commit a08507ab51

View File

@ -70,6 +70,7 @@ MINIO_USER=minio_usr
MINIO_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) MINIO_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32) JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)
ENCRYPTION_KEY=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32) ENCRYPTION_KEY=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)
LOCAL_IP=$(hostname -I | awk '{print $1}')
msg_ok "Set up Variables" msg_ok "Set up Variables"
msg_info "Setup Database" msg_info "Setup Database"
@ -139,7 +140,7 @@ DB_PASSWORD=${DB_PASS}
DB_HOST=localhost DB_HOST=localhost
DB_PORT=5432 DB_PORT=5432
ENCRYPTION_KEY=${ENCRYPTION_KEY} ENCRYPTION_KEY=${ENCRYPTION_KEY}
MINIO_ENDPOINT=minio MINIO_ENDPOINT=localhost
MINIO_PORT=9000 MINIO_PORT=9000
MINIO_CONSOLE_PORT=9001 MINIO_CONSOLE_PORT=9001
MINIO_ACCESS_KEY=${MINIO_USER} MINIO_ACCESS_KEY=${MINIO_USER}
@ -149,18 +150,29 @@ REDIS_PORT=6379
BACKEND_PORT=8080 BACKEND_PORT=8080
FRONTEND_PORT=5173 FRONTEND_PORT=5173
BACKEND_URL=http://localhost:8080 BACKEND_URL=http://${LOCAL_IP}:8080
PUBLIC_URL=http://localhost:5173 PUBLIC_URL=http://${LOCAL_IP}:5173
VITE_BACKEND_URL=http://localhost:8080 VITE_BACKEND_URL=http://${LOCAL_IP}:8080
VITE_PUBLIC_URL=http://localhost:5173 VITE_PUBLIC_URL=http://${LOCAL_IP}:5173
MAXUN_TELEMETRY=false MAXUN_TELEMETRY=false
EOF EOF
cat <<EOF >/usr/local/bin/update-env-ip.sh
env_file="/opt/maxun/.env"
ip=$(hostname -I | awk '{print $1}')
sed -i "s|^BACKEND_URL=.*|BACKEND_URL=http://${ip}:8080|" "$env_file"
sed -i "s|^PUBLIC_URL=.*|PUBLIC_URL=http://${ip}:5173|" "$env_file"
sed -i "s|^VITE_BACKEND_URL=.*|VITE_BACKEND_URL=http://${ip}:8080|" "$env_file"
sed -i "s|^VITE_PUBLIC_URL=.*|VITE_PUBLIC_URL=http://${ip}:5173|" "$env_file"
EOF
chmod +x /usr/local/bin/update-env-ip.sh
cd /opt/maxun cd /opt/maxun
$STD npm install --legacy-peer-deps $STD npm install --legacy-peer-deps
cd /opt/maxun/maxun-core cd /opt/maxun/maxun-core
$STD npm install --legacy-peer-deps $STD npm install --legacy-peer-deps
$STD npm run build
cd /opt/maxun cd /opt/maxun
$STD npx playwright install --with-deps chromium $STD npx playwright install --with-deps chromium
$STD npx playwright install-deps $STD npx playwright install-deps
@ -173,9 +185,6 @@ msg_ok "Installed Maxun"
#msg_ok "DB Migrations completed" #msg_ok "DB Migrations completed"
msg_info "Setting up nginx with CORS Proxy" msg_info "Setting up nginx with CORS Proxy"
$STD apt-get install -y nginx
cat <<'EOF' >/etc/nginx/sites-available/maxun cat <<'EOF' >/etc/nginx/sites-available/maxun
server { server {
listen 80; listen 80;
@ -215,15 +224,28 @@ ln -sf /etc/nginx/sites-available/maxun /etc/nginx/sites-enabled/maxun
rm -f /etc/nginx/sites-enabled/default rm -f /etc/nginx/sites-enabled/default
msg_ok "nginx with CORS Proxy set up" msg_ok "nginx with CORS Proxy set up"
msg_info "Creating Service" msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/maxun.service cat <<EOF >/etc/systemd/system/maxun-update-env.service
[Unit]
Description=Update .env with dynamic LXC IP
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/update-env-ip.sh
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/maxun-server.service
[Unit] [Unit]
Description=Maxun Service Description=Maxun Service
After=network.target postgresql.service redis.service minio.service After=network.target postgresql.service redis.service minio.service maxun-update-env.service
[Service] [Service]
WorkingDirectory=/opt/maxun WorkingDirectory=/opt/maxun
ExecStart=/usr/bin/npm run start:server -- --host 0.0.0.0 ExecStart=/usr/bin/npm run start:server
Restart=always Restart=always
EnvironmentFile=/opt/maxun/.env EnvironmentFile=/opt/maxun/.env
@ -232,6 +254,7 @@ WantedBy=multi-user.target
EOF EOF
systemctl enable -q --now maxun systemctl enable -q --now maxun
systemctl enable -q --now nginx systemctl enable -q --now nginx
systemctl enable -q --now maxun-update-env
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh