diff --git a/ct/razzia.sh b/ct/razzia.sh deleted file mode 100644 index 335d99ee29..0000000000 --- a/ct/razzia.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash -_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main" -_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func" -source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func") -# Copyright (c) 2021-2026 community-scripts ORG -# Author: Owen Voke (owenvoke) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/Ralex91/Razzia - -APP="Razzia" -var_tags="${var_tags:-quiz;games}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-3072}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -#var_arm64="${var_arm64:-no}" # unset = ask the user; set yes/no only when verified -var_unprivileged="${var_unprivileged:-1}" -var_testurl="${var_testurl:-https://github.com/community-scripts/DevScripts/issues/2248}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/razzia ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "razzia" "Ralex91/Razzia"; then - msg_info "Stopping Service" - systemctl stop razzia - msg_ok "Stopped Service" - - create_backup /opt/razzia/.env - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "razzia" "Ralex91/Razzia" "tarball" - - restore_backup - - NODE_VERSION="24" NODE_MODULE="pnpm@11" setup_nodejs - - msg_info "Building Razzia" - cd /opt/razzia - $STD pnpm install --frozen-lockfile - $STD pnpm build - msg_ok "Built Razzia" - - msg_info "Starting Service" - systemctl start razzia - msg_ok "Started Service" - msg_ok "Updated successfully!" - fi - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW}Access it using the following URL:${CL}" -echo -e "${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/install/razzia-install.sh b/install/razzia-install.sh deleted file mode 100644 index 02aa5d60b6..0000000000 --- a/install/razzia-install.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: Owen Voke (owenvoke) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/Ralex91/Razzia - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt install -y nginx -msg_ok "Installed Dependencies" - -NODE_VERSION="24" NODE_MODULE="pnpm@11" setup_nodejs -fetch_and_deploy_gh_release "razzia" "Ralex91/Razzia" "tarball" - -msg_info "Building Razzia" -cd /opt/razzia -$STD pnpm install --frozen-lockfile -$STD pnpm build -msg_ok "Built Razzia" - -msg_info "Configuring Razzia" -mkdir -p /opt/razzia-config -cat </opt/razzia/.env -MANAGER_PASSWORD=$(random_password 16) -JWT_SECRET=$(openssl rand -hex 32) -EOF -msg_ok "Configured Razzia" - -msg_info "Creating Service" -cat </etc/systemd/system/razzia.service -[Unit] -Description=Razzia Socket Server -After=network.target - -[Service] -Type=simple -User=root -WorkingDirectory=/opt/razzia/packages/socket -EnvironmentFile=/opt/razzia/.env -Environment=NODE_ENV=production -Environment=CONFIG_PATH=/opt/razzia-config -ExecStart=/usr/bin/node /opt/razzia/packages/socket/dist/index.cjs -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now razzia -msg_ok "Created Service" - -msg_info "Configuring Nginx" -cat </etc/nginx/sites-available/razzia -server { - listen 3000; - server_name _; - - root /opt/razzia/packages/web/dist; - index index.html; - - location / { - try_files \$uri \$uri/ /index.html; - } - - location /branding/ { - alias /opt/razzia-config/branding/; - } - - location /media/ { - alias /opt/razzia-config/media/; - types { - image/png png; - image/jpeg jpg; - image/webp webp; - image/gif gif; - audio/mpeg mp3; - audio/ogg ogg; - audio/wav wav; - video/mp4 mp4; - video/webm webm; - } - default_type application/octet-stream; - add_header X-Content-Type-Options nosniff; - } - - location /api { - client_max_body_size 101m; - proxy_pass http://127.0.0.1:3001; - proxy_set_header Host \$host; - proxy_read_timeout 300s; - proxy_send_timeout 300s; - } - - location /ws { - proxy_pass http://127.0.0.1:3001; - proxy_http_version 1.1; - proxy_set_header Upgrade \$http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host \$host; - proxy_read_timeout 3600s; - proxy_send_timeout 3600s; - } -} -EOF -nginx_enable_site razzia -msg_ok "Configured Nginx" - -motd_ssh -customize -cleanup_lxc diff --git a/json/razzia.json b/json/razzia.json deleted file mode 100644 index 5d7f42f0fc..0000000000 --- a/json/razzia.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "Razzia", - "slug": "razzia", - "categories": [ - 24 - ], - "date_created": "2026-07-31", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 3000, - "documentation": "https://github.com/Ralex91/Razzia/blob/main/docs/README.md", - "website": "https://github.com/Ralex91/Razzia", - "repository": "https://github.com/Ralex91/Razzia", - "logo": "https://cdn.jsdelivr.net/gh/Ralex91/Razzia@main/packages/web/public/icon.svg", - "description": "Razzia is a self-hosted, open-source quiz platform for smaller events. A manager hosts a live quiz from the browser while participants join with a room code from their own devices, with quizzes, results and custom branding stored as files in the config folder.", - "install_methods": [ - { - "type": "default", - "script": "ct/razzia.sh", - "config_path": "/opt/razzia/.env", - "resources": { - "cpu": 2, - "ram": 3072, - "hdd": 8, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Host quizzes at http://:3000/manager with the generated password stored as MANAGER_PASSWORD in /opt/razzia/.env.", - "type": "info" - }, - { - "text": "Behind a reverse proxy, forward the WebSocket upgrade headers and allow 100 MB uploads, or players stay stuck on connecting.", - "type": "info" - } - ] -}