Find a file
Ömer Taha Öztop 4963385bf9
fix(2fauth): make update_script idempotent and preserve ownership (#14018)
The update was failing with 'mv: cannot stat /opt/2fauth-backup/.env:
No such file or directory' on a system where a previous run had left
/opt/2fauth-backup behind. mv would then nest /opt/2fauth inside the
existing backup directory (as /opt/2fauth-backup/2fauth/), so the
restore step looked at the wrong path.

After fixing that, the app returned a 500 ('Key path
file:///opt/2fauth/storage/oauth-public.key does not exist or is not
readable') because chown/chmod ran before composer install and
php artisan 2fauth:install, leaving vendor/, bootstrap/cache/* and
the regenerated oauth keys owned by root and unreadable by www-data.

- Remove any stale /opt/2fauth-backup before creating the backup, and
  remove it again at the end so the next run starts clean
- Use cp instead of mv when restoring .env/storage so the backup is
  preserved until the update completes
- Move chown/chmod to AFTER composer + artisan, matching the order in
  install/2fauth-install.sh
- Restart php8.4-fpm in addition to nginx so opcache picks up the new
  cached config
- Drop redundant quotes around literal paths to match the rest of the
  codebase
2026-04-26 08:51:33 +02:00
.github Archive old changelog entries (#14025) 2026-04-26 00:12:14 +00:00
.vscode cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
ct fix(2fauth): make update_script idempotent and preserve ownership (#14018) 2026-04-26 08:51:33 +02:00
install TREK (#14017) 2026-04-26 08:48:46 +02:00
misc fix dep 2026-04-24 14:29:55 +02:00
tools fix ffmpeg path 2026-04-24 14:21:16 +02:00
turnkey set gawk 2026-03-25 08:51:06 +01:00
vm fix(opnsense-vm): fix grep pipefail crash with single bridge & ambiguous redirect 2026-04-13 16:31:36 +02:00
.editorconfig Update repo tree to fix .editorconfig beign ignored. (#3302) 2025-03-21 15:53:30 +01:00
.gitattributes cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
.gitignore cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
.shellcheckrc cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
CHANGELOG.md Update CHANGELOG.md (#14028) 2026-04-26 06:49:13 +00:00
CONTRIBUTING.md cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
LICENSE chore: bump copyright to 2026 - happy new year (#10585) 2026-01-06 13:28:12 +01:00
README.md cleanup: remove docs/, update README & CONTRIBUTING, fix repo config (#13770) 2026-04-15 15:39:19 +02:00
SECURITY.md gh: update supported PVE Version (#9422) 2025-11-25 08:52:46 +01:00

Proxmox VE Helper-Scripts Logo

Proxmox VE Helper-Scripts

One-command installations for services, containers, and VMs on Proxmox VE
A community project — built on the foundation of @tteck's original work


What is this?

Simplify your Proxmox VE setup with community-driven automation scripts.

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.

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 Version 8.4, 9.0, or 9.1
Host OS Proxmox VE (Debian-based)
Access Root shell access on the Proxmox host
Network Internet connection required during installation

Getting Started

The fastest way to find and run scripts:

  1. Go to 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.


How Scripts Work

Every script follows the same pattern:

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

What's Included

The repository covers a wide range of categories. A few examples:

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

Browse the full list at community-scripts.org/categories — new scripts are added regularly.


Contributing

This project runs on community contributions. Whether you want to write new scripts, improve existing ones, or just report a bug — every bit helps.

Where to start

I want to… Go here
Add a new script ProxmoxVED — new scripts are tested here first
Fix or improve an existing script Contributing Guidelines — open a PR in this repo
Report a bug or broken script Issues
Request a new script or feature Discussions
Report a security vulnerability Security Policy
Get help or chat with other users Discord

Before you open a PR

  • New scripts go to ProxmoxVED, 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 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.

Core Team

MickLesk
MickLesk
michelroegl-brunner
michelroegl-brunner
BramSuurdje
BramSuurdje
CrazyWolf13
CrazyWolf13
tremor021
tremor021
vhsdream
vhsdream

Project Activity

Repository activity

Star History Chart


Support the Project

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.

Support on Ko-fi   Donate via community-scripts.org

License

This project is licensed under the MIT License — free to use, modify, and redistribute for personal and commercial purposes.

See the full license text in LICENSE.


Built on the foundation of tteck's original work · Original Repository
Maintained and expanded by the community · In memory of tteck
Proxmox® is a registered trademark of Proxmox Server Solutions GmbH