diff --git a/ct/fireshare.sh b/ct/fireshare.sh index fcb789d7..2ac13684 100644 --- a/ct/fireshare.sh +++ b/ct/fireshare.sh @@ -7,10 +7,10 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV # Source: https://github.com/ShaneIsrael/fireshare APP="Fireshare" -var_tags="${var_tags:-}" +var_tags="${var_tags:-sharing;video}" var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" -var_disk="${var_disk:-4}" +var_disk="${var_disk:-10}" var_os="${var_os:-debian}" var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" diff --git a/install/fireshare-install.sh b/install/fireshare-install.sh index 7768897c..c6de508b 100644 --- a/install/fireshare-install.sh +++ b/install/fireshare-install.sh @@ -12,6 +12,7 @@ catch_errors setting_up_container network_check update_os +setup_hwaccel msg_info "Installing Dependencies" $STD apt install -y \ @@ -88,6 +89,8 @@ $STD ldconfig msg_ok "Compiled ffmpeg" msg_info "Configuring Fireshare (Patience)" +ADMIN_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +SECRET=$(openssl rand -base64 48) mkdir -p /opt/fireshare-{data,videos,processed} cd /opt $STD git clone https://github.com/ShaneIsrael/fireshare.git @@ -112,17 +115,22 @@ export VIDEO_DIRECTORY=/opt/fireshare-videos export PROCESSED_DIRECTORY=/opt/fireshare-processed $STD uv run flask db upgrade -cat <<'EOF' >/opt/fireshare/fireshare.env +cat </opt/fireshare/fireshare.env FLASK_APP="/opt/fireshare/app/server/fireshare:create_app()" +DOMAIN= ENVIRONMENT=production DATA_DIRECTORY=/opt/fireshare-data VIDEO_DIRECTORY=/opt/fireshare-videos PROCESSED_DIRECTORY=/opt/fireshare-processed TEMPLATE_PATH=/opt/fireshare/app/server/fireshare/templates -ADMIN_PASSWORD=admin +SECRET_KEY=${SECRET} +ADMIN_PASSWORD=${ADMIN_PASSWORD} TZ=UTC -LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/lib:/usr/local/cuda/lib64:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/lib:/usr/local/cuda/lib64:\$LD_LIBRARY_PATH PATH=/usr/local/bin:$PATH +ENABLE_TRANSCODING= +TRANSCODE_GPU= +NVIDIA_DRIVER_CAPABILITIES= EOF cd /opt/fireshare/app/client @@ -134,6 +142,13 @@ sed -i 's|root /processed/|root /opt/fireshare-processed|g' /etc/nginx/nginx.con sed -i 's/^user[[:space:]]\+nginx;/user root;/' /etc/nginx/nginx.conf sed -i 's|root[[:space:]]\+/app/build;|root /opt/fireshare/app/client/build;|' /etc/nginx/nginx.conf systemctl start nginx + +cat <~/fireshare.creds +Fireshare Admin Credentials +======================== +Username: admin +Password: ${ADMIN_PASSWORD} +EOF msg_ok "Configured Fireshare" msg_info "Creating services" diff --git a/json/fireshare.json b/json/fireshare.json new file mode 100644 index 00000000..a51a3afc --- /dev/null +++ b/json/fireshare.json @@ -0,0 +1,48 @@ +{ + "name": "fireshare", + "slug": "fireshare", + "categories": [ + 6 + ], + "date_created": "2026-02-21", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9000, + "documentation": "https://github.com/ShaneIsrael/fireshare/blob/develop/README.md", + "website": "https://github.com/ShaneIsrael/fireshare", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fireshare.webp", + "config_path": "/opt/fireshare/fireshare.env", + "description": "Fireshare is a self-hosted app that lets you share videos — particularly gaming clips — via unique links. You upload videos to a folder, and the app generates shareable URLs for each one. It's designed as a lightweight alternative to services like Medal or YouTube for people who want full control over their content without relying on third-party platforms.", + "install_methods": [ + { + "type": "default", + "script": "ct/fireshare.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 10, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Type `cat ~/fireshare.creds` to get admin username and password.", + "type": "info" + }, + { + "text": "To enable GPU transcoding, you need to set proper variable in `/opt/fireshare/fireshare.env`.", + "type": "info" + }, + { + "text": "The installation is compiling `ffmpeg`, `SVT-AV1` and NVIDIA headers from source, this may take a while, depending on your host speed. If possible, increase CPU cores allocated to the LXC container.", + "type": "warning" + } + ] +} \ No newline at end of file