Compare commits

..

1 Commits

Author SHA1 Message Date
MickLesk 357a2d73f0 Immich: lock only this platform when mise installs the plugin tools
mise 2026.10.19 defaults lockfile_mode to generate, which locks every platform during mise install. Immich's mise.toml enables the lockfile, and Java 21.0.2 has no linux-arm64-musl build, so the update failed on any host. Fixes #18236
2026-10-26 14:14:23 +01:00
12 changed files with 85 additions and 395 deletions
+2 -13
View File
@@ -572,8 +572,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
### 🆕 New Scripts
- Vane ([#18168](https://github.com/community-scripts/ProxmoxVE/pull/18168))
- HomeTube ([#18172](https://github.com/community-scripts/ProxmoxVE/pull/18172))
- HomeTube ([#18172](https://github.com/community-scripts/ProxmoxVE/pull/18172))
- Honcho ([#18169](https://github.com/community-scripts/ProxmoxVE/pull/18169))
- YTPTube ([#18174](https://github.com/community-scripts/ProxmoxVE/pull/18174))
- Stump ([#18173](https://github.com/community-scripts/ProxmoxVE/pull/18173))
@@ -584,7 +583,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes
- Immich: lock only this platform when mise installs the plugin tools [@MickLesk](https://github.com/MickLesk) ([#18241](https://github.com/community-scripts/ProxmoxVE/pull/18241))
- Fix service name case for Splunkd [@CerberusStyle](https://github.com/CerberusStyle) ([#18238](https://github.com/community-scripts/ProxmoxVE/pull/18238))
- VMs: pass the machine type, CPU, disk cache and discard settings to qm [@MickLesk](https://github.com/MickLesk) ([#18232](https://github.com/community-scripts/ProxmoxVE/pull/18232))
- excalidash: bump Node.js from 20 to 24 [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18213](https://github.com/community-scripts/ProxmoxVE/pull/18213))
@@ -593,18 +591,9 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- remove old -install.sh (verdaccio) [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18218](https://github.com/community-scripts/ProxmoxVE/pull/18218))
- meshcentral: bump Node.js from 22 to 24 [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18215](https://github.com/community-scripts/ProxmoxVE/pull/18215))
- #### ✨ New Features
- MeshCentral: update the npm package, not just the OS [@MickLesk](https://github.com/MickLesk) ([#18243](https://github.com/community-scripts/ProxmoxVE/pull/18243))
### 💾 Core
- feat: let an install survive a closed console / dont sighup installs [@MickLesk](https://github.com/MickLesk) ([core#167](https://github.com/community-scripts/core/pull/167))
- feat: create containers from the linuxcontainers.org catalog when Proxmox has no template [@MickLesk](https://github.com/MickLesk) ([core#25](https://github.com/community-scripts/core/pull/25))
### 📚 Documentation
- Ref: Docs / Readme [@MickLesk](https://github.com/MickLesk) ([#18233](https://github.com/community-scripts/ProxmoxVE/pull/18233))
- feat: create containers from the linuxcontainers.org catalog when Proxmox has no template [@MickLesk](https://github.com/MickLesk) ([core#25](https://github.com/community-scripts/core/pull/25))
## 2026-10-25
+1
View File
@@ -191,6 +191,7 @@ create` still ran and the container was still built.
## Notes
- **Website metadata** (name, description, logo, tags) is managed via the website — use the "Report Issue" link on any script page to request changes. Do not submit metadata changes via repo files.
- **JSON files** in `json/` define script properties used by the website. See existing files for structure reference.
- Keep PRs small and focused. One fix or feature per PR is ideal.
- PRs with **new scripts** opened against ProxmoxVE will be closed — submit them to [DevScripts](https://github.com/community-scripts/DevScripts) instead.
- PRs that fail CI checks will not be merged.
+71 -129
View File
@@ -1,17 +1,16 @@
<div align="center">
<a href="misc/images/community-scripts.svg"><img src="misc/images/community-scripts.png" width="112" height="112" alt="Community Scripts — Proxmox VE logo" /></a>
<!-- Editable artwork: misc/images/community-scripts.svg; PNG export: 512 × 512. -->
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png" height="112px" alt="Proxmox VE Helper-Scripts Logo" />
<h1>Community Scripts — Proxmox VE</h1>
<p><strong>One-command installations for services, containers and VMs on Proxmox VE</strong><br/>
<h1>Proxmox VE Helper-Scripts</h1>
<p><strong>One-command installations for services, containers, and VMs on Proxmox VE</strong><br/>
A community project — built on the foundation of <a href="https://github.com/tteck">@tteck</a>'s original work</p>
<p>
<a href="https://community-scripts.org"><img src="https://img.shields.io/badge/Website-community--scripts.org-4c9b3f?style=flat-square" alt="Website" /></a>
<a href="https://discord.gg/3AnUqsXnmK"><img src="https://img.shields.io/badge/Discord-Join_us-7289da?style=flat-square&logo=discord&logoColor=white" alt="Discord" /></a>
<a href="https://github.com/community-scripts/ProxmoxVE/stargazers"><img src="https://img.shields.io/github/stars/community-scripts/ProxmoxVE?style=flat-square&label=Stars&color=f5a623" alt="Stars" /></a>
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md"><img src="https://img.shields.io/badge/Changelog-view-6c5ce7?style=flat-square" alt="Changelog" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=flat-square" alt="License" /></a>
<a href="https://community-scripts.org"><img src="https://img.shields.io/badge/Website-community--scripts.org-4c9b3f?style=flat-square" /></a>
<a href="https://discord.gg/3AnUqsXnmK"><img src="https://img.shields.io/badge/Discord-Join_us-7289da?style=flat-square&logo=discord&logoColor=white" /></a>
<a href="https://github.com/community-scripts/ProxmoxVE/stargazers"><img src="https://img.shields.io/github/stars/community-scripts/ProxmoxVE?style=flat-square&label=Stars&color=f5a623" /></a>
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md"><img src="https://img.shields.io/badge/Changelog-view-6c5ce7?style=flat-square" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=flat-square" /></a>
</p>
</div>
@@ -19,147 +18,94 @@
## What is this?
**The canonical application scripts.** More than 700 of them, covering home
automation, media, networking, databases, monitoring, security and developer
tooling. Paste one command into your Proxmox shell and the container or VM is
built, configured and running.
**Simplify your Proxmox VE setup with community-driven automation scripts.**
A script only describes *what* to install. Creating the container, asking the
questions and handling the errors is the job of the shared engine in
[core](https://github.com/community-scripts/core), which every script loads at
start-up. The same scripts run unchanged on an Incus host through
[the Incus repository](https://github.com/community-scripts/Incus).
Install and configure popular self-hosted services with a single command — no manual package hunting, no config file archaeology. Paste a command into your Proxmox shell, answer a few prompts, and your container or VM is up and running.
Ready-made commands for every application are on
[community-scripts.org](https://community-scripts.org).
---
## Getting started
1. Go to **[community-scripts.org](https://community-scripts.org)**
2. Search for the service you want — Home Assistant, Nginx Proxy Manager, Jellyfin
3. Copy the one-line install command from the script page
4. Open your **Proxmox shell** and paste it
5. Choose **Default** or **Advanced** and follow the prompts
Each script page lists what the container includes, the default resources and
the post-install notes.
> These commands run as root on your host. Every script is readable in this
> repository, and each script page links to its source — read it before you
> paste it, as you would with any installer.
---
## How scripts work
**Default** picks sensible resources and asks only what it has to. Most installs
finish in a few minutes.
**Advanced** hands you container settings, networking, storage backend and
application options before anything is created.
Every container gets an `update` command. Type it in the container console:
```bash
update
```
It updates the installed application and reaches settings that would otherwise
mean editing config files by hand. VM scripts have no built-in updater — use the
guest's own package manager.
The collection covers hundreds of services across categories like home automation, media servers, networking tools, databases, monitoring stacks, and more.
---
## Requirements
| Component | Details |
| --------- | ------- |
| **Proxmox VE** | 8.0 – 8.4, or 9.0 – 9.2 |
| **Access** | Root shell on the Proxmox host |
| **Network** | Internet access during installation |
Virtual machine scripts need the same versions as containers.
| Component | Details |
| -------------- | ------------------------------------------------ |
| **Proxmox VE** | Version 8.4, 9.0, 9.1, or 9.2 |
| **Host OS** | Proxmox VE (Debian-based) |
| **Access** | Root shell access on the Proxmox host |
| **Network** | Internet connection required during installation |
---
## Repository map
## Getting Started
| Repository | Contains |
| ---------- | -------- |
| [core](https://github.com/community-scripts/core) | The engine — container and VM creation, the wizard, error handling |
| **ProxmoxVE** (this repo) | Canonical application scripts, plus `tools/pve/`, `vm/` and `turnkey/` |
| [Incus](https://github.com/community-scripts/Incus) | The same scripts on an Incus host, plus Incus VMs and host tooling |
| [DevScripts](https://github.com/community-scripts/DevScripts) | Where new scripts are tested before they land here |
The fastest way to find and run scripts:
1. Go to **[community-scripts.org](https://community-scripts.org)**
2. Search for the service you want (e.g. "Home Assistant", "Nginx Proxy Manager", "Jellyfin")
3. Copy the one-line install command from the script page
4. Open your **Proxmox Shell** and paste it
5. Choose between **Default** or **Advanced** setup and follow the prompts
Each script page documents what the container includes, default resource allocation, and post-install notes.
---
## Layout
## How Scripts Work
| Folder | Contents |
| ------ | -------- |
| `ct/` | Application scripts — the command you paste |
| `install/` | What each script installs inside the container |
| `vm/` | Virtual machine scripts |
| `tools/pve/` | Host tooling: post-install, hardware passthrough, maintenance |
| `turnkey/` | TurnKey Linux appliance helper |
| `misc/` | Legacy engine copies — current scripts load [core](https://github.com/community-scripts/core) at runtime, so changes here never reach a running install |
Every script follows the same pattern:
Application metadata — name, description, logo, tags — is managed on the website,
not in this repository. Use the **Report Issue** link on any script page to
request a change.
**Default mode** — Picks sensible resource defaults (CPU, RAM, storage) and asks only the minimum required questions. Most installs finish in under five minutes.
**Advanced mode** — Gives you full control over container settings, networking, storage backends, and application-level configuration before anything is installed.
After installation, each container ships with a **post-install helper** accessible from the Proxmox shell. It handles common tasks like:
- Applying updates to the installed service
- Changing application settings without manually editing config files
- Basic troubleshooting and log access
---
## Testing a fork or branch
## What's Included
Engine and scripts resolve independently, so either can point somewhere else.
Put the variable on the command itself — nothing needs exporting.
The repository covers a wide range of categories. A few examples:
To run your own copy of the scripts:
| Category | Examples |
| --------------- | --------------------------------------------------- |
| Home Automation | Home Assistant, Zigbee2MQTT, ESPHome, Node-RED |
| Media | Jellyfin, Plex, Radarr, Sonarr, Immich |
| Networking | AdGuard Home, Nginx Proxy Manager, Pi-hole, Traefik |
| Monitoring | Grafana, Prometheus, Uptime Kuma, Netdata |
| Databases | PostgreSQL, MariaDB, Redis, InfluxDB |
| Security | Vaultwarden, CrowdSec, Authentik |
| Dev & Tools | Gitea, Portainer, VS Code Server, n8n |
```bash
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/YOU/ProxmoxVE/my-branch \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOU/ProxmoxVE/my-branch/ct/debian.sh)"
```
A `ct/` script fetched with `curl` cannot tell the engine where it came from, so
without that variable it would look for its `install/` half upstream.
Only when you are changing the engine itself:
```bash
COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/YOU/core/my-branch \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"
```
A local checkout of core wins over both — point at it with
`COMMUNITY_SCRIPTS_CORE_DIR`.
> Browse the full list at **[community-scripts.org/categories](https://community-scripts.org/categories)** — new scripts are added regularly.
---
## Contributing
This project runs on community contributions. New scripts, fixes, bug reports —
all of it helps.
This project runs on community contributions. Whether you want to write new scripts, improve existing ones, or just report a bug — every bit helps.
| I want to… | Go here |
| ---------- | ------- |
| Add a **new** script | [DevScripts](https://github.com/community-scripts/DevScripts) — new scripts are tested there first |
| Fix or improve an **existing** script | [Contributing Guidelines](CONTRIBUTING.md) — open a PR here |
| Change how containers are built | [core](https://github.com/community-scripts/core) |
| Report a bug or a broken script | [Issues](https://github.com/community-scripts/ProxmoxVE/issues) |
| Request a script or a feature | [Discussions](https://github.com/community-scripts/ProxmoxVE/discussions) |
| Report a security vulnerability | [Security Policy](SECURITY.md) |
| Ask a question | [Discord](https://discord.gg/3AnUqsXnmK) |
### Where to start
| I want to… | Go here |
| ------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Add a **new** script | [DevScripts](https://github.com/community-scripts/DevScripts) — new scripts are tested here first |
| Fix or improve an **existing** script | [Contributing Guidelines](CONTRIBUTING.md) — open a PR in this repo |
| Report a bug or broken script | [Issues](https://github.com/community-scripts/ProxmoxVE/issues) |
| Request a new script or feature | [Discussions](https://github.com/community-scripts/ProxmoxVE/discussions) |
| Report a security vulnerability | [Security Policy](SECURITY.md) |
| Get help or chat with other users | [Discord](https://discord.gg/3AnUqsXnmK) |
### Before you open a PR
- **New scripts go to [DevScripts](https://github.com/community-scripts/DevScripts), not here.** PRs adding new scripts to this repository will be closed.
- Keep a PR to one fix or one feature.
- A bug that also happens on Incus is an application or engine bug — say so in the report.
- Read the [Contributing Guidelines](CONTRIBUTING.md) before your first PR.
- **New scripts go to [DevScripts](https://github.com/community-scripts/DevScripts), not here.** PRs with new scripts opened directly against this repo will be closed.
- Bug fixes and improvements to existing scripts belong in this repo — read the [Contributing Guidelines](CONTRIBUTING.md) first.
- Keep PRs focused. One fix or feature per PR.
- Document what your script installs and any non-obvious decisions in the corresponding JSON metadata file.
---
@@ -191,8 +137,6 @@ all of it helps.
<sub><b>CrazyWolf13</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/tremor021">
<img src="https://github.com/tremor021.png" width="80" height="80" style="border-radius:50%" alt="tremor021" /><br/>
@@ -211,7 +155,6 @@ all of it helps.
<sub><b>asylumexp</b></sub>
</a>
</td>
<td></td>
</tr>
</table>
@@ -251,11 +194,9 @@ all of it helps.
## Support the Project
This project is maintained by volunteers. Infrastructure costs come out of
pocket and the work happens in people's spare time.
This project is maintained by volunteers. All infrastructure costs come out of pocket, and the work is done in people's spare time.
**30% of all donations are forwarded directly to cancer research and hospice
care** — a cause that was important to tteck.
**30% of all donations are forwarded directly to cancer research and hospice care** — a cause that was important to tteck.
<div align="center">
<a href="https://ko-fi.com/community_scripts">
@@ -271,13 +212,14 @@ care** — a cause that was important to tteck.
## License
MIT — free to use, modify and redistribute, for personal and commercial
purposes. See [LICENSE](LICENSE).
This project is licensed under the [MIT License](LICENSE) — free to use, modify, and redistribute for personal and commercial purposes.
See the full license text in [LICENSE](LICENSE).
---
<div align="center">
<sub>Built on the foundation of <a href="https://github.com/tteck">tteck</a>'s original work · <a href="https://github.com/tteck/Proxmox">Original Repository</a></sub><br/>
<sub>Maintained and expanded by the community · In memory of tteck</sub><br/>
<sub><i>This is an independent community project. <b>Proxmox</b>® is a registered trademark of <a href="https://www.proxmox.com/en/about/company">Proxmox Server Solutions GmbH</a>.</i></sub>
<sub><i>Proxmox® is a registered trademark of <a href="https://www.proxmox.com/en/about/company">Proxmox Server Solutions GmbH</a></i></sub>
</div>
+11 -33
View File
@@ -22,40 +22,18 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/meshcentral ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="24" setup_nodejs
CURRENT=$(node -p "require('/opt/meshcentral/node_modules/meshcentral/package.json').version" 2>/dev/null)
LATEST=$(npm view meshcentral version 2>/dev/null)
if [[ -z "$LATEST" ]]; then
msg_error "Could not determine the latest MeshCentral version from npm"
exit 250
fi
if [[ "$CURRENT" != "$LATEST" ]]; then
msg_info "Stopping Service"
systemctl stop meshcentral
msg_ok "Stopped Service"
msg_info "Updating ${APP} from v${CURRENT} to v${LATEST}"
cd /opt/meshcentral
$STD npm install "meshcentral@${LATEST}"
msg_ok "Updated ${APP} to v${LATEST}"
msg_info "Starting Service"
systemctl start meshcentral
msg_ok "Started Service"
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/meshcentral ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
else
msg_ok "${APP} is already at v${CURRENT}"
fi
exit
exit
}
start
-89
View File
@@ -1,89 +0,0 @@
#!/usr/bin/env bash
_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: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/ItzCrazyKns/Vane
APP="Vane"
var_tags="${var_tags:-ai;search}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-12}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-yes}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/vane ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "vane" "ItzCrazyKns/Vane"; then
msg_info "Stopping Vane"
systemctl stop vane
msg_ok "Stopped Vane"
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "vane" "ItzCrazyKns/Vane" "tarball"
msg_info "Building Vane"
cd /opt/vane
$STD yarn install --frozen-lockfile --network-timeout 600000
$STD yarn build
$STD yarn cache clean
rm -rf .next/cache
cp -r public .next/standalone/
cp -r .next/static .next/standalone/.next/
cp -r drizzle .next/standalone/
ln -s /opt/vane_data .next/standalone/data
$STD npx playwright install --with-deps --only-shell chromium
msg_ok "Built Vane"
msg_info "Starting Vane"
systemctl start vane
msg_ok "Started Vane"
msg_ok "Updated Vane successfully!"
fi
if check_for_gh_branch "searxng" "searxng/searxng" "master"; then
msg_info "Stopping SearXNG"
systemctl stop searxng
msg_ok "Stopped SearXNG"
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_branch "searxng" "searxng/searxng" "master"
msg_info "Updating SearXNG"
cd /opt/searxng
$STD uv pip install -p /opt/searxng/.venv/bin/python -r requirements.txt -r requirements-server.txt
msg_ok "Updated SearXNG"
msg_info "Starting SearXNG"
systemctl start searxng
msg_ok "Started SearXNG"
msg_ok "Updated SearXNG 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}"
-116
View File
@@ -1,116 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/ItzCrazyKns/Vane
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 build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_branch "searxng" "searxng/searxng" "master"
msg_info "Setting up SearXNG"
cd /opt/searxng
$STD uv venv /opt/searxng/.venv
$STD uv pip install -p /opt/searxng/.venv/bin/python -r requirements.txt -r requirements-server.txt
mkdir -p /etc/searxng
cat <<EOF >/etc/searxng/settings.yml
use_default_settings: true
general:
instance_name: "SearXNG"
server:
bind_address: "127.0.0.1"
port: 8888
secret_key: "$(openssl rand -hex 32)"
limiter: false
image_proxy: false
search:
autocomplete: "google"
formats:
- html
- json
engines:
- name: wolframalpha
disabled: false
EOF
chmod 600 /etc/searxng/settings.yml
msg_ok "Set up SearXNG"
fetch_and_deploy_gh_release "vane" "ItzCrazyKns/Vane" "tarball"
msg_info "Building Vane"
cd /opt/vane
$STD yarn install --frozen-lockfile --network-timeout 600000
$STD yarn build
$STD yarn cache clean
rm -rf .next/cache
cp -r public .next/standalone/
cp -r .next/static .next/standalone/.next/
cp -r drizzle .next/standalone/
mkdir -p /opt/vane_data
# The standalone server chdirs into its own directory and keeps config.json, db.sqlite and uploads in ./data
ln -s /opt/vane_data .next/standalone/data
msg_ok "Built Vane"
msg_info "Installing Chromium for Vane"
$STD npx playwright install --with-deps --only-shell chromium
msg_ok "Installed Chromium for Vane"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/searxng.service
[Unit]
Description=SearXNG for Vane
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/searxng
Environment=SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml
ExecStart=/opt/searxng/.venv/bin/granian --interface wsgi --host 127.0.0.1 --port 8888 searx.webapp:app
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/vane.service
[Unit]
Description=Vane
After=network.target searxng.service
Wants=searxng.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/vane/.next/standalone
Environment=NODE_ENV=production
Environment=HOSTNAME=0.0.0.0
Environment=PORT=3000
Environment=SEARXNG_API_URL=http://127.0.0.1:8888
ExecStart=/usr/bin/node /opt/vane/.next/standalone/server.js
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now searxng vane
msg_ok "Created Services"
motd_ssh
customize
cleanup_lxc
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

-15
View File
@@ -1,15 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
<title id="title">Community Scripts - CS Amber</title>
<desc id="desc">A continuous ivory C interlocks with a warm orange S on charcoal. Both letterforms use rounded, folded geometry.</desc>
<rect width="512" height="512" rx="112" fill="#29262b"/>
<defs>
<mask id="weave-clearance" maskUnits="userSpaceOnUse" x="0" y="0" width="512" height="512">
<rect width="512" height="512" fill="white"/>
<path d="M390 142H322L270 172V220L322 250H348L392 276V338L338 370H284" fill="none" stroke="black" stroke-width="72" stroke-linecap="round" stroke-linejoin="round"/>
</mask>
</defs>
<g fill="none" stroke-width="56" stroke-linecap="round" stroke-linejoin="round">
<path d="M254 142H186L118 182V330L186 370H254" stroke="#f5f4eb" mask="url(#weave-clearance)"/>
<path d="M390 142H322L270 172V220L322 250H348L392 276V338L338 370H284" stroke="#f29a67"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB