3 Commits

Author SHA1 Message Date
Sam Heinz 1611df15b0 Fix LXC updates 2024-07-02 19:11:46 +10:00
Sam Heinz a74611e979 add echos to all of them 2024-07-02 19:02:20 +10:00
Sam Heinz f0478feb12 Remove clear to see why not updating 2024-07-02 18:57:36 +10:00
725 changed files with 11541 additions and 41279 deletions
-16
View File
@@ -1,16 +0,0 @@
; editorconfig.org
root = true
[*]
charset = utf-8
continuation_indent_size = 2
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 120
tab_width = 2
; trim_trailing_whitespace = true ; disabled until files are cleaned up
[*.md]
trim_trailing_whitespace = false
-15
View File
@@ -1,15 +0,0 @@
#
# CODEOWNERS for ProxmoxVE
#
# Order is important; the last matching pattern takes the most
# precedence.
# Codeowners for specific folders and files
# Remember ending folders with /
# Set default reviewers
* @asylumexp
+132
View File
@@ -0,0 +1,132 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
+9 -3
View File
@@ -1,8 +1,14 @@
<div align="center"> <div align="center">
<a href="#"> <a href="#">
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo.png" height="100px" /> <img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a> </a>
</div> </div>
<h2 align="center">Contributing to Proxmox ARM64 VE Helper Scripts</h2> <h2 align="center">Contributing to Proxmox VE Helper Scripts</h2>
This repo does not accept any additions for new scripts. Instead, add them to the community-scripts repo, then they'll be ported to arm64. Other than that, any changes are welcome to be PR'd and I'll review them. Everybody is invited and welcome to contribute to Proxmox VE Helper Scripts.
- Pull requests submitted against [**main**](https://github.com/tteck/Proxmox/tree/main) are meticulously scrutinized, so please do not take it personally if the project maintainer rejects your request. By adhering to the established patterns and conventions throughout the codebase, you greatly increase the likelihood that your changes will get merged into [**main**](https://github.com/tteck/Proxmox/tree/main).
- It is important to stress that complaining about a decision after it has been made is not productive behavior for the pull request submitter. It is crucial for all contributors to respect the decision-making process and collaborate effectively towards achieving the best possible outcome for the project.
- The repository will only accept Alpine applications that make use of the Alpine Package Keeper.
@@ -1,37 +0,0 @@
title: "[Script request] "
labels: ["enhancement"]
body:
- type: input
attributes:
label: Application Name
description: Enter the application name.
placeholder: "e.g., Home Assistant"
validations:
required: true
- type: input
attributes:
label: Website
description: Official website or github page.
placeholder: "e.g., https://www.home-assistant.io/"
validations:
required: true
- type: textarea
attributes:
label: Description
description: Explain what the application does and why it should be added to Proxmox VE Helper-Scripts.
placeholder: "e.g., Home Assistant is a popular open-source platform that brings all your smart home devices together in one place. Adding it to Proxmox VE Helper-Scripts would make setup and management on Proxmox easy, letting users quickly get a powerful, self-hosted smart home system up and running."
validations:
required: true
- type: checkboxes
attributes:
label: Due Diligence
options:
- label: "I have searched existing [scripts](https://community-scripts.github.io/Proxmox/scripts) and found no duplicates."
required: true
- label: "I have searched existing [discussions](https://github.com/community-scripts/ProxmoxVE/discussions?discussions_q=) and found no duplicate requests."
required: true
- label: "This is not a game-related request."
required: true
- type: markdown
attributes:
value: "Thanks for submitting your request! The team will review it and reach out if we need more information."
+1 -1
View File
@@ -1 +1 @@
ko_fi: community_scripts ko_fi: proxmoxhelperscripts
@@ -1,16 +1,14 @@
name: "🌐 Website Issue Report" name: Problems with a script.
description: Report an issue, an optimization request or an documentation issue specifically related to the website. description: Generate a report on an issue pertaining specifically to a script. For other inquires please share them in the Discussions section.
labels: "website"
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
**IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure. **IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure.
- Prior to submitting, kindly search the closed issues to check if the problem you are reporting has already been addressed and resolved. If you come across a closed issue that pertains to your problem, please leave a comment on that issue instead of creating a new one. - Prior to submitting, kindly search the closed issues to check if the problem you are reporting has already been addressed and resolved. If you come across a closed issue that pertains to your problem, please leave a comment on that issue instead of creating a new one.
- If the problem is related to a bug in the website, kindly check for browser compatibility and ensure the issue occurs in multiple browsers before submitting. - If the default Linux distribution is not adhered to, script support will be discontinued.
- For suggestions, questions, or feature requests, please use the [Discussions section.](https://github.com/community-scripts/ProxmoxVE/discussions) - When encountering the error message `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, make sure to run the script in verbose mode to accurately determine the underlying issue.
- For suggestions, questions or feature/script requests, please share them in the [Discussions section.](https://github.com/tteck/Proxmox/discussions)
- type: input - type: input
id: guidelines id: guidelines
attributes: attributes:
@@ -18,58 +16,50 @@ body:
placeholder: 'yes' placeholder: 'yes'
validations: validations:
required: true required: true
- type: dropdown
id: issue_type
validations:
required: true
attributes:
label: What type of issue is this?
options:
-
- Bug
- Optimization
- Documentation
- Other
- type: textarea - type: textarea
id: bug_description id: bug
attributes: attributes:
label: A clear and concise description of the issue. label: A clear and concise description of the issue.
validations: validations:
required: true required: true
- type: dropdown - type: dropdown
id: browser id: settings
validations: validations:
required: true required: true
attributes: attributes:
label: Which browser are you using? label: What settings are you currently utilizing?
options: options:
- -
- Chrome - Default Settings
- Firefox - Advanced Settings
- Safari
- Edge
- Other
- type: markdown - type: markdown
attributes: attributes:
value: | value: (if Advanced Settings, please try Default Settings before creating an issue)
**If the issue is browser-related**, please provide information on the version and platform (Windows, MacOS, Linux, etc.). - type: dropdown
id: distribution
validations:
required: true
attributes:
label: Which Linux distribution are you employing?
options:
-
- Alpine
- Debian 11
- Debian 12
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
- type: textarea - type: textarea
id: screenshot id: screenshot
attributes: attributes:
label: If relevant, including screenshots or a code block can be helpful in clarifying the issue. label: If relevant, including screenshots or a code block can be helpful in clarifying the issue.
placeholder: "Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it." placeholder: Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it.
validations: validations:
required: false required: false
- type: textarea - type: textarea
id: reproduce id: reproduce
attributes: attributes:
label: Please provide detailed steps to reproduce the issue. label: Please provide detailed steps to reproduce the issue.
placeholder: "First do this, then this ..." placeholder: First do this, then this ...
validations: validations:
required: false required: false
-100
View File
@@ -1,100 +0,0 @@
name: "🐞 Script Issue Report"
description: Report a specific issue with a script. For other inquiries, please use the Discussions section.
body:
- type: markdown
attributes:
value: |
# 🐞 **Script Issue Report**
Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.
## ⚠️ **IMPORTANT**
- 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.
Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.
- 🛠️ **Supported environments only:** Ensure you are using a default Linux distribution. Custom setups may not be supported.
- 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.
- 💡 For general questions, feature requests, or suggestions, use the [Discussions section](https://github.com/community-scripts/ProxmoxVE/discussions).
- type: input
id: guidelines
attributes:
label: ✅ Have you read and understood the above guidelines?
placeholder: "yes"
validations:
required: true
- type: input
id: script_name
attributes:
label: 📜 What is the name of the script you are using?
placeholder: "e.g., NextcloudPi, Zigbee2MQTT"
validations:
required: true
- type: input
id: script_command
attributes:
label: 📂 What was the exact command used to execute the script?
placeholder: "e.g., bash -c \"$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/zigbee2mqtt.sh)\" or \"update\""
validations:
required: true
- type: textarea
id: issue_description
attributes:
label: 📝 Provide a clear and concise description of the issue.
validations:
required: true
- type: checkboxes
validations:
required: true
attributes:
label: ⚙️ What settings are you using?
options:
- label: Default Settings
- label: Advanced Settings
- type: markdown
attributes:
value: "💡 **Tip:** If you are using Advanced Settings, please test with Default Settings before submitting an issue."
- type: dropdown
id: linux_distribution
attributes:
label: 🖥️ Which Linux distribution are you using?
options:
-
- Alpine
- Debian 11
- Debian 12
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
- Ubuntu 24.10
validations:
required: true
- type: textarea
id: steps_to_reproduce
attributes:
label: 🔄 Steps to reproduce the issue.
placeholder: "e.g., Step 1: ..., Step 2: ..."
validations:
required: true
- type: textarea
id: error_output
attributes:
label: ❌ Paste the full error output (if available).
placeholder: "Include any relevant logs or error messages."
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: 🖼️ Additional context (optional).
placeholder: "Include screenshots, code blocks (use triple backticks ```), or any other relevant information."
validations:
required: false
+3 -9
View File
@@ -1,11 +1,5 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: 🤔 Questions and Help - name: Helper-Scripts Community Support
url: https://github.com/community-scripts/ProxmoxVE/discussions url: https://github.com/tteck/Proxmox/discussions
about: For suggestions or questions, please use the Discussions section. about: Please ask and answer questions here.
- name: 🌟 Feature request
url: https://github.com/community-scripts/ProxmoxVE/discussions/new?category=request-script
about: For feature/script requests, please use the Discussions section.
- name: 💻 Discord
url: https://discord.gg/UHrpNWGwkH
about: Join our Discord server to chat with other users in the Proxmox Helper Scripts community.
+9
View File
@@ -0,0 +1,9 @@
version: "1"
rules:
- base: main
upstream: tteck:main
mergeMethod: merge # [none, merge, squash, rebase, hardreset]
conflictReviewers:
- asylumexp
label: ":arrow_heading_down: pull"
conflictLabel: "merge-conflict"
-39
View File
@@ -1,39 +0,0 @@
> **🛠️ Note:**
> We are meticulous about merging code into the main branch, so please understand that pull requests not meeting the project's standards may be rejected. It's never personal!
> 🎮 **Note for game-related scripts:** These have a lower likelihood of being merged.
---
## ✍️ Description
Provide a summary of the changes made and/or reference the issue being addressed.
- - -
**_Please remove unneeded lines!_**
- Related Issue: # (issue number, if applicable)
- Related PR: # (if applicable)
- Related Discussion: []()(if applicable)
---
## 🛠️ Type of Change
Please check the relevant options:
- [ ] Bug fix (non-breaking change that resolves an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change unexpectedly)
- [ ] New script (a fully functional and thoroughly tested script or set of scripts)
---
## ✅ Prerequisites
The following steps must be completed for the pull request to be considered:
- [ ] Self-review performed (I have reviewed my code to ensure it follows established patterns and conventions.)
- [ ] Testing performed (I have thoroughly tested my changes and verified expected functionality.)
- [ ] Documentation updated (I have updated any relevant documentation)
---
## 📋 Additional Information (optional)
Provide any extra context or screenshots about the feature or fix here.
-78
View File
@@ -1,78 +0,0 @@
# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
name: Frontend CI/CD
on:
push:
branches: ["main"]
paths:
- frontend/**
- json/**
pull_request:
branches: ["main"]
types: [opened, synchronize, reopened, edited]
paths:
- frontend/**
- json/**
workflow_dispatch:
permissions:
contents: read
concurrency:
group: pages-${{ github.ref }}
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend # Set default working directory for all run steps
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci --prefer-offline --legacy-peer-deps
- name: Run tests
run: npm run test
- name: Configure Next.js for pages
uses: actions/configure-pages@v5
with:
static_site_generator: next
- name: Build with Next.js
run: npm run build
- name: Upload artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: frontend/out
deploy:
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
-1
View File
@@ -1 +0,0 @@
script.py
+23 -953
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -1,14 +1,14 @@
<div align="center"> <div align="center">
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo.png" height="100px" /> <img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</div> </div>
<h2><div align="center">Exploring the Scripts and Steps Involved in an Application LXC Installation</div></h2> <h2><div align="center">Exploring the Scripts and Steps Involved in an Application LXC Installation</div></h2>
1) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh): This script collects system parameters. (Also holds the function to update the application.) 1) [adguard.sh](https://github.com/tteck/Proxmox/blob/main/ct/adguard.sh): This script collects system parameters. (Also holds the function to update the application.)
2) [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func): Adds user settings and integrates collected information. 2) [build.func](https://github.com/tteck/Proxmox/blob/main/misc/build.func): Adds user settings and integrates collected information.
3) [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/create_lxc.sh): Constructs the LXC container. 3) [create_lxc.sh](https://github.com/tteck/Proxmox/blob/main/ct/create_lxc.sh): Constructs the LXC container.
4) [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh): Executes functions from [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), and installs the application. 4) [adguard-install.sh](https://github.com/tteck/Proxmox/blob/main/install/adguard-install.sh): Executes functions from [install.func](https://github.com/tteck/Proxmox/blob/main/misc/install.func), and installs the application.
5) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh) (again): To display the completion message. 5) [adguard.sh](https://github.com/tteck/Proxmox/blob/main/ct/adguard.sh) (again): To display the completion message.
The installation process uses reusable scripts: [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func), [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/create_lxc.sh), and [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), which are not specific to any particular application. The installation process uses reusable scripts: [build.func](https://github.com/tteck/Proxmox/blob/main/misc/build.func), [create_lxc.sh](https://github.com/tteck/Proxmox/blob/main/ct/create_lxc.sh), and [install.func](https://github.com/tteck/Proxmox/blob/main/misc/install.func), which are not specific to any particular application.
To gain a better understanding, focus on reviewing [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh). This script contains the commands and configurations for installing and configuring AdGuard Home within the LXC container. To gain a better understanding, focus on reviewing [adguard-install.sh](https://github.com/tteck/Proxmox/blob/main/install/adguard-install.sh). This script contains the commands and configurations for installing and configuring AdGuard Home within the LXC container.
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2021-2025 asylumexp Copyright (c) 2021-2024 tteck
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+195 -2
View File
@@ -31,6 +31,199 @@ Any issues with the scripts, please put an issue within this repository rather t
If you would like to offer support, I would appreciate a star on the repository, or for you to support the creator of the Proxmox scripts [tteck on Ko-Fi](https://ko-fi.com/D1D7EP4GF)! If you would like to offer support, I would appreciate a star on the repository, or for you to support the creator of the Proxmox scripts [tteck on Ko-Fi](https://ko-fi.com/D1D7EP4GF)!
## Compatibility Guide ## VM Compatibility Guide
[View Compatibility Guide here](https://pimox-scripts.com) | Icon | Description |
| ---- | -------------------------------------------------- |
| ☑️ | Creating the LXC using the script has been tested. |
| ⭕ | Install script is ported, but has not been tested. |
| ❌ | Unsupported. View notes for reason. |
| 🔘 | Install script not ported to ARM64. |
| OS | Status | Notes |
| ------------------------------- | ------ | -------------------------------------------------------------------------------------------------------- |
| Debian | ⭕ | Needs testing. |
| Home Assistant OS | ❌ | Use Pimox HAOS VM script. |
| Mikrotik RouterOS | ❌ | No arm64 image available. |
| NextCloud | ❌ | No arm64 image available. Not present on website. |
| OpenWRT | ⭕ | Needs testing. |
| OwnCloud | ❌ | No arm64 image available. |
| Pimox HAOS | ☑️ | |
| Ubuntu 22.04 | ⭕ | Needs testing. |
| Ubuntu 24.04 | ⭕ | Needs testing. |
## LXC Compatibility Guide
| App | Status | Notes |
| ------------------------------- | ------ | -------------------------------------------------------------------------------------------------------- |
| Actual Budget | ☑️ | |
| AdGuard Home | ☑️ | |
| AgentDVR | ☑️ | |
| Apache-Cassandra | ☑️ | |
| Alpine Docker | ☑️ | |
| Alpine Grafana | ☑️ | |
| Alpine | ☑️ | |
| Alpine Nextcloud | ☑️ | |
| Alpine Vaultwarden | ☑️ | |
| Alpine Zigbee2mqtt | ☑️ | |
| Apache-CouchDB | ☑️ | |
| Apt-Cacher-NG | ☑️ | Won't work with Debian template from before 2024/06/08 (need to delete tar /var/lib/vz/template/cache/). |
| Aria2 | ☑️ | |
| Audiobookshelf | ☑️ | |
| Autobrr | ☑️ | |
| Bazarr | ☑️ | |
| Blocky | ☑️ | |
| Caddy | ☑️ | |
| Calibre-Web | ☑️ | |
| CasaOS | ☑️ | |
| Change Detection | ☑️ | |
| Channels DVR Server | ☑️ | |
| Cloudflared | ☑️ | |
| CommaFeed | ☑️ | |
| Cronicle Primary | ☑️ | |
| Dashy | ☑️ | |
| deCONZ | ☑️ | |
| Daemon Sync Server | ❌ | Built for x64 only. |
| Debian | ☑️ | |
| Deluge | ☑️ | |
| Docker | ☑️ | |
| Dockge | ☑️ | |
| Emby Media Server | ☑️ | |
| EMQX | ☑️ | |
| ErsatzTV | ☑️ | |
| ESPHome | ☑️ | |
| Fenrus | ☑️ | |
| FHEM | ☑️ | |
| FlareSolverr | ☑️ | |
| FlowiseAI | ☑️ | |
| Forgejo | ☑️ | |
| Frigate | ☑️ | |
| go2rtc | ☑️ | |
| Gokapi | ☑️ | |
| Gotify | ☑️ | |
| Grafana | ☑️ | |
| grocy | ☑️ | |
| Heimdall Dashboard | ☑️ | |
| HiveMQ CE | ☑️ | |
| Homarr | ☑️ | |
| Home Assistant Core | ☑️ | |
| Home Assistant Container | ☑️ | |
| Homebridge | ☑️ | |
| Homepage | ☑️ | |
| Homer | ☑️ | |
| HyperHDR | ☑️ | |
| Hyperion | ☑️ | |
| InfluxDB | ☑️ | |
| ioBroker | ☑️ | |
| iVentoy | ☑️ | |
| Jackett | ☑️ | |
| Jellyfin Media Server | ☑️ | |
| Jellyseerr | ☑️ | |
| k0s | ☑️ | |
| Kavita | ☑️ | |
| Keycloak | ☑️ | |
| Kubo | ☑️ | |
| LazyLibrarian | ☑️ | |
| Lidarr | ☑️ | |
| Linkwarden | ☑️ | |
| Mafl | ☑️ | |
| MagicMirror Server | ☑️ | |
| Mariadb | ☑️ | |
| Matterbridge | ☑️ | |
| MediaMTX | ☑️ | |
| Medusa | ☑️ | |
| MeshCentral | ☑️ | |
| MeTube | ☑️ | |
| MongoDB | ☑️ | Only supports ARMv8.2-a currently. (no RPI4 support). |
| MotionEye NVR | ☑️ | |
| MQTT | ☑️ | |
| n8n | ☑️ | |
| MySpeed | ☑️ | |
| Navidrome | ☑️ | |
| NextCloudPi | ☑️ | |
| Nginx Proxy Manager | ☑️ | |
| NocoDB | ☑️ | |
| Node-Red | ☑️ | |
| Notifiarr | ☑️ | |
| ntfy | ☑️ | |
| OctoPrint | ☑️ | |
| Omada Controller | ☑️ | |
| Ombi | ☑️ | |
| OpenMediaVault | ☑️ | |
| openHAB | ☑️ | |
| OpenObserve | ☑️ | |
| Overseerr | ☑️ | |
| Owncast | ☑️ | |
| PairDrop | ☑️ | |
| Paperless-ngx | ☑️ | |
| PBS | ☑️ | Proxmox Backup Server |
| PeaNUT | ☑️ | |
| Petio | ☑️ | Only supports ARMv8.2-a currently. (no RPI4 support). |
| PhotoPrism | ☑️ | |
| Pi.Alert | ☑️ | |
| Pi-Hole | ☑️ | |
| Pingvin Share | ☑️ | |
| Plex Media Server | ☑️ | |
| Pocketbase | ☑️ | |
| Podman Home Assistant Container | ☑️ | |
| Podman | ☑️ | |
| PostgreSQL | ☑️ | |
| Prometheus | ☑️ | |
| Prowlarr | ☑️ | |
| qBittorrent | ☑️ | |
| RabbitMQ | ☑️ | |
| Radarr | ☑️ | |
| RDTClient | ☑️ | Real-Debrid Torrent Client |
| Readarr | ☑️ | |
| Readeck | ☑️ | |
| Redis | ☑️ | |
| RTSPtoWeb | ☑️ | |
| Runtipi | ☑️ | |
| SABnzbd | ☑️ | |
| Scrypted | ☑️ | |
| Scrutiny | ☑️ | |
| SFTPGo | ☑️ | |
| Shinobi NVR | ☑️ | |
| SmokePing | ☑️ | |
| Sonarr | ☑️ | |
| SpoolMan | ☑️ | |
| Stirling-PDF | ☑️ | |
| Syncthing | ☑️ | |
| Tandoor Recipes | ☑️ | |
| TasmoAdmin | ☑️ | |
| Tautulli | ☑️ | |
| Tdarr | ☑️ | |
| Technitium DNS | ☑️ | |
| Threadfin | ☑️ | |
| Traccar | ☑️ | |
| Traefik | ☑️ | |
| Transmission | ☑️ | |
| Trilium | ❌ | Built for x64 only. |
| Umami | ☑️ | |
| Ubuntu | ☑️ | |
| Umbrel | ☑️ | |
| UniFi Network Server | ☑️ | |
| Unmanic | ☑️ | |
| Uptime Kuma | ☑️ | |
| Vaultwarden | ☑️ | Will probably work on default install if you have a lot of ram. Otherwise use the Alpine Linux version. |
| Wastebin | ☑️ | |
| WatchYourLAN | ☑️ | |
| Whisparr | ☑️ | |
| Whoogle | ☑️ | |
| Wiki.js | ☑️ | |
| WireGuard | ☑️ | |
| YunoHost | ☑️ | |
| Zabbix | ☑️ | |
| Zigbee2MQTT | ☑️ | |
| Zoraxy | ☑️ | |
| Z-Wave JS UI | ☑️ | |
## Miscellaneous Compatibility Guide
| Script | Status | Notes |
| -------------- | ------ | -------------------- |
| File Browser | ☑️ | |
| OliveTin | ☑️ | |
| NetBird | ☑️ | No changes required. |
| Tailscale | ☑️ | No changes required. |
| VS Code Server | ☑️ | |
-23
View File
@@ -1,23 +0,0 @@
## Supported Versions
This project currently supports the following versions of Proxmox VE:
| Version | Supported |
| ------- | ------------------ |
| 8.3.x | :white_check_mark: |
| 8.2.x | :white_check_mark: |
| 8.1.x | :white_check_mark: |
| 8.0.x | Limited support* ❕|
| < 8.0 | :x: |
*Version 8.0.x has limited support. Security updates may not be provided for all issues in this version.
## Reporting a Vulnerability
Security vulnerabilities shouldnt be reported publicly to prevent potential exploitation. Instead, please report any vulnerabilities privately by reaching out directly to us. You can either join our [Discord server](https://discord.gg/UHrpNWGwkH) and send a direct message to a maintainer or contact us via email at contact@community-scripts.org. Be sure to include a detailed description of the vulnerability and the steps to reproduce it. Thank you for helping us keep our project secure!
Once a vulnerability has been reported, the project maintainers will review it and acknowledge the report within 7 business days. We will then work to address the vulnerability and provide a fix as soon as possible. Depending on the severity of the issue, a patch may be released immediately or included in the next scheduled update.
Please note that not all reported vulnerabilities may be accepted. The project maintainers reserve the right to decline a vulnerability report if it is deemed to be a low-risk issue or if it conflicts with the project's design or architecture. In such cases, we will provide an explanation for the decision.
If you have any questions or concerns about this security policy, please don't hesitate to contact the project maintainers.
+1 -5
View File
@@ -1,6 +1,6 @@
<div align="center"> <div align="center">
<a href="#"> <a href="#">
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo.png" height="100px" /> <img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a> </a>
</div> </div>
<h2 align="center">User Submitted Guides </h2> <h2 align="center">User Submitted Guides </h2>
@@ -38,7 +38,3 @@
[Proxmox + NetData](<https://dbt3ch.com/books/proxmox-netdata-for-better-insights-and-notifications/page/proxmox-netdata-for-better-insights-and-notifications>) [Proxmox + NetData](<https://dbt3ch.com/books/proxmox-netdata-for-better-insights-and-notifications/page/proxmox-netdata-for-better-insights-and-notifications>)
[Proxmox Homelab Series](<https://blog.kye.dev/proxmox-series>) [Proxmox Homelab Series](<https://blog.kye.dev/proxmox-series>)
[The fastest installation of Docker and Portainer on Proxmox VE](https://lavr.site/en-fastest-install-docker-portainer-proxmox/)
[How To Setup Proxmox Backuper Server Using Helper Scripts](<https://youtu.be/6C2JOsrZZZw?si=kkrrcL_nLCDBJkOB>)
-90
View File
@@ -1,90 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: jkrgr0
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://docs.2fauth.app/
# App Default Values
APP="2FAuth"
TAGS="2fa;authenticator"
var_cpu="1"
var_ram="512"
var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
# Check if installation is present | -f for file, -d for folder
if [[ ! -d "/opt/2fauth" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
# Crawling the new version and checking whether an update is required
RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
msg_info "Updating $APP to ${RELEASE}"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
# Creating Backup
msg_info "Creating Backup"
mv "/opt/2fauth" "/opt/2fauth-backup"
msg_ok "Backup Created"
# Execute Update
wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
unzip -q "${RELEASE}.zip"
mv "2FAuth-${RELEASE//v}/" "/opt/2fauth"
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
cd "/opt/2fauth" || return
chown -R www-data: "/opt/2fauth"
chmod -R 755 "/opt/2fauth"
export COMPOSER_ALLOW_SUPERUSER=1
composer install --no-dev --prefer-source &>/dev/null
php artisan 2fauth:install
# Cleaning up
msg_info "Cleaning Up"
rm -rf "v${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleanup Completed"
# Last Action
echo "${RELEASE}" >/opt/2fauth_version.txt
msg_ok "Updated $APP to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
-113
View File
@@ -1,113 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: TheRealVira
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://5e.tools/
# App Default Values
APP="5etools"
var_tags="wiki"
var_cpu="1"
var_ram="512"
var_disk="13"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
# Check if installation is present | -f for file, -d for folder
if [[ ! -d "/opt/${APP}" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-3/5etools-src/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then
# Crawling the new version and checking whether an update is required
msg_info "Updating System"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated System"
# Execute Update
msg_info "Updating base 5etools"
cd /opt
wget -q "https://github.com/5etools-mirror-3/5etools-src/archive/refs/tags/${RELEASE}.zip"
unzip -q "${RELEASE}.zip"
mv "/opt/${APP}/img" "/opt/img-backup"
rm -rf "/opt/${APP}"
mv "${APP}-src-${RELEASE:1}" "/opt/${APP}"
mv "/opt/img-backup" "/opt/${APP}/img"
cd /opt/5etools
$STD npm install
$STD npm run build
cd ~
echo "${RELEASE}" >"/opt/${APP}_version.txt"
chown -R www-data: "/opt/${APP}"
chmod -R 755 "/opt/${APP}"
msg_ok "Updated base 5etools"
# Cleaning up
msg_info "Cleaning Up"
rm -rf /opt/${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleanup Completed"
else
msg_ok "No update required. Base ${APP} is already at ${RELEASE}"
fi
IMG_RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-2/5etools-img/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${IMG_RELEASE}" != "$(cat /opt/${APP}_IMG_version.txt)" ]] || [[ ! -f "/opt/${APP}_IMG_version.txt" ]]; then
# Crawling the new version and checking whether an update is required
msg_info "Updating System"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated System"
# Execute Update
msg_info "Updating 5etools images"
curl -sSL "https://github.com/5etools-mirror-2/5etools-img/archive/refs/tags/${IMG_RELEASE}.zip" > "${IMG_RELEASE}.zip"
unzip -q "${IMG_RELEASE}.zip"
rm -rf "/opt/${APP}/img"
mv "${APP}-img-${IMG_RELEASE:1}" "/opt/${APP}/img"
echo "${IMG_RELEASE}" >"/opt/${APP}_IMG_version.txt"
chown -R www-data: "/opt/${APP}"
chmod -R 755 "/opt/${APP}"
msg_ok "Updating 5etools images"
# Cleaning up
msg_info "Cleaning Up"
rm -rf /opt/${RELEASE}.zip
rm -rf ${IMG_RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleanup Completed"
else
msg_ok "No update required. ${APP} images are already at ${IMG_RELEASE}"
fi
}
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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+49 -24
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://actualbudget.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ __ ____ __ __
/ | _____/ /___ ______ _/ / / __ )__ ______/ /___ ____ / /_
/ /| |/ ___/ __/ / / / __ `/ / / __ / / / / __ / __ `/ _ \/ __/
/ ___ / /__/ /_/ /_/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / __/ /_
/_/ |_\___/\__/\__,_/\__,_/_/ /_____/\__,_/\__,_/\__, /\___/\__/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Actual Budget" APP="Actual Budget"
var_tags="finance" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/actualbudget ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
systemctl stop actualbudget.service systemctl stop actualbudget.service
cd /opt/actualbudget cd /opt/actualbudget
@@ -45,8 +68,10 @@ function update_script() {
start start
build_container build_container
description description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 1024
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5006${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5006${CL}"
+70 -23
View File
@@ -1,38 +1,86 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://adguard.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ __
/ | ____/ /___ ___ ______ __________/ /
/ /| |/ __ / __ / / / / __ / ___/ __ /
/ ___ / /_/ / /_/ / /_/ / /_/ / / / /_/ /
/_/ |_\__,_/\__, /\__,_/\__,_/_/ \__,_/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Adguard" APP="Adguard"
var_tags="adblock" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/AdGuardHome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
if [[ ! -d /opt/AdGuardHome ]]; then read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
msg_error "No ${APP} Installation Found!" [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
exit
fi fi
msg_error "Adguard Home should be updated via the user interface." wget -qL https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
msg_info "Stopping AdguardHome"
systemctl stop AdGuardHome
msg_ok "Stopped AdguardHome"
msg_info "Updating AdguardHome"
tar -xvf AdGuardHome_linux_amd64.tar.gz &>/dev/null
mkdir -p adguard-backup
cp -r /opt/AdGuardHome/AdGuardHome.yaml /opt/AdGuardHome/data adguard-backup/
cp AdGuardHome/AdGuardHome /opt/AdGuardHome/AdGuardHome
cp -r adguard-backup/* /opt/AdGuardHome/
msg_ok "Updated AdguardHome"
msg_info "Starting AdguardHome"
systemctl start AdGuardHome
msg_ok "Started AdguardHome"
msg_info "Cleaning Up"
rm -rf AdGuardHome_linux_amd64.tar.gz AdGuardHome adguard-backup
msg_ok "Cleaned"
msg_ok "Updated Successfully"
exit exit
} }
@@ -41,6 +89,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
-84
View File
@@ -1,84 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://adventurelog.app/
# App Default Values
APP="AdventureLog"
var_tags="traveling"
var_disk="7"
var_cpu="2"
var_ram="2048"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/adventurelog ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Services"
systemctl stop adventurelog-backend
systemctl stop adventurelog-frontend
msg_ok "Services Stopped"
msg_info "Updating ${APP} to ${RELEASE}"
cp /opt/adventurelog/backend/server/.env /opt/server.env
cp /opt/adventurelog/frontend/.env /opt/frontend.env
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
mv AdventureLog-${RELEASE} /opt/adventurelog
mv /opt/server.env /opt/adventurelog/backend/server/.env
cd /opt/adventurelog/backend/server
pip install --upgrade pip &>/dev/null
pip install -r requirements.txt &>/dev/null
python3 manage.py collectstatic --noinput &>/dev/null
python3 manage.py migrate &>/dev/null
mv /opt/frontend.env /opt/adventurelog/frontend/.env
cd /opt/adventurelog/frontend
pnpm install &>/dev/null
pnpm run build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start adventurelog-backend
systemctl start adventurelog-frontend
msg_ok "Started Services"
msg_info "Cleaning Up"
rm -rf v${RELEASE}.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.ispyconnect.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ ____ _ ______
/ | ____ ____ ____ / /_/ __ \ | / / __ \
/ /| |/ __ `/ _ \/ __ \/ __/ / / / | / / /_/ /
/ ___ / /_/ / __/ / / / /_/ /_/ /| |/ / _, _/
/_/ |_\__, /\___/_/ /_/\__/_____/ |___/_/ |_|
/____/
EOF
}
header_info
echo -e "Loading..."
APP="AgentDVR" APP="AgentDVR"
var_tags="dvr" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="ubuntu" var_os="ubuntu"
var_version="22.04" var_version="22.04"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/agentdvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/agentdvr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,6 +64,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP}${CL} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8090${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
+43 -13
View File
@@ -1,28 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __
/ __ \____ _____/ /_ __ _____
/ / / / __ \/ ___/ //_/ _ \/ ___/
/ /_/ / /_/ / /__/ ,< / __/ /
/_____/\____/\___/_/|_|\___/_/
Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Docker" APP="Alpine-Docker"
var_tags="docker;alpine" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_disk="2"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.20"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt apk add -q newt
+44 -14
View File
@@ -1,28 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ ____
/ ____/________ _/ __/___ _____ ____ _
/ / __/ ___/ __ / /_/ __ / __ \/ __ /
/ /_/ / / / /_/ / __/ /_/ / / / / /_/ /
\____/_/ \__,_/_/ \__,_/_/ /_/\__,_/
Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Grafana" APP="Alpine-Grafana"
var_tags="alpine;monitoring" var_disk="1"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_disk="1"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.19"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt apk add -q newt
+43 -14
View File
@@ -1,28 +1,57 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ __ __ __ __ __ __ __
/ | / /__ _ __/ /______/ /___ __ ______/ / / / / /_ __/ /_
/ |/ / _ \| |/_/ __/ ___/ / __ \/ / / / __ / / /_/ / / / / __ \
/ /| / __/> </ /_/ /__/ / /_/ / /_/ / /_/ / / __ / /_/ / /_/ /
/_/ |_/\___/_/|_|\__/\___/_/\____/\__,_/\__,_/ /_/ /_/\__,_/_.___/
Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Nextcloud" APP="Alpine-Nextcloud"
var_tags="alpine;cloud" var_disk="2"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="2"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.19"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
if [[ ! -d /usr/share/webapps/nextcloud ]]; then if [[ ! -d /usr/share/webapps/nextcloud ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
+45 -15
View File
@@ -1,28 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ __ ____ __
| | / /___ ___ __/ / /__ ______ __________/ /__ ____
| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \
| |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / / / /_/ / __/ / / /
|___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/ \__,_/\___/_/ /_/
Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Vaultwarden" APP="Alpine-Vaultwarden"
var_tags="alpine;vault" var_disk="0.3"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_disk="0.3"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.19"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt apk add -q newt
@@ -41,7 +71,7 @@ function update_script() {
header_info header_info
case $CHOICE in case $CHOICE in
1) 1)
apk update && apk upgrade && rc-service vaultwarden restart -q apk update && apk upgrade
exit exit
;; ;;
2) 2)
+43 -13
View File
@@ -1,28 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_____ _ __ ___ __ _______ ____________
/__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/
/ / / / __ / __ \/ _ \/ _ \__/ // /|_/ / / / / / / / /
/ /__/ / /_/ / /_/ / __/ __/ __// / / / /_/ / / / / /
/____/_/\__, /_.___/\___/\___/____/_/ /_/\___\_\/_/ /_/
/____/ Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Zigbee2MQTT" APP="Alpine-Zigbee2MQTT"
var_tags="alpine;zigbee;mqtt;smarthome"
var_disk="0.3" var_disk="0.3"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.19"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt apk add -q newt
+43 -13
View File
@@ -2,27 +2,57 @@
source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ _
/ | / /___ (_)___ ___
/ /| | / / __ \/ / __ \/ _ \
/ ___ |/ / /_/ / / / / / __/
/_/ |_/_/ .___/_/_/ /_/\___/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Alpine" APP="Alpine"
var_tags="os;alpine" var_disk="0.1"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="0.1"
var_os="alpine" var_os="alpine"
var_version="3.20" var_version="3.19"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW="-password alpine"
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
"1" "Check for Alpine Updates" ON \ "1" "Check for Alpine Updates" ON \
@@ -31,7 +61,7 @@ function update_script() {
header_info header_info
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
apk update && apk upgrade apk update && apk upgrade
exit exit;
fi fi
} }
+45 -22
View File
@@ -1,38 +1,62 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://cassandra.apache.org/_/index.html # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ ______ __
/ | ____ ____ ______/ /_ ___ / ____/___ _______________ _____ ____/ /________ _
/ /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ `/ ___/ ___/ __ `/ __ \/ __ / ___/ __ `/
/ ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ (__ |__ ) /_/ / / / / /_/ / / / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/ \__,_/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apache-Cassandra" APP="Apache-Cassandra"
var_tags="database;NoSQL" var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1" VERBOSE="yes"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/cassandra.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/cassandra.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -42,4 +66,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+47 -23
View File
@@ -1,37 +1,62 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://couchdb.apache.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ ______ __ ____ ____
/ | ____ ____ ______/ /_ ___ / ____/___ __ _______/ /_ / __ \/ __ )
/ /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ \/ / / / ___/ __ \/ / / / __ |
/ ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\____/\__,_/\___/_/ /_/_____/_____/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apache-CouchDB" APP="Apache-CouchDB"
var_tags="database" var_disk="10"
var_cpu="2" var_cpu="2"
var_ram="4096" var_ram="4096"
var_disk="10"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1" VERBOSE="yes"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/couchdb.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/couchdb.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,6 +66,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5984/_utils/${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5984/_utils/${CL}"
-47
View File
@@ -1,47 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Michel Roegl-Brunner (michelroegl-brunner)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://guacamole.apache.org/
#App Default Values
APP="Apache-Guacamole"
TAGS="webserver;remote"
var_disk="4"
var_cpu="1"
var_ram="2048"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/apache-guacamole ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Ther is currently no automatic update function for ${APP}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
+46 -23
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://wiki.debian.org/AptCacherNg # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ ______ __ _ ________
/ | ____ / /_ / ____/___ ______/ /_ ___ _____ / | / / ____/
/ /| | / __ \/ __/__/ / / __ `/ ___/ __ \/ _ \/ ___/__/ |/ / / __
/ ___ |/ /_/ / /_/__/ /___/ /_/ / /__/ / / / __/ / /__/ /| / /_/ /
/_/ |_/ .___/\__/ \____/\__,_/\___/_/ /_/\___/_/ /_/ |_/\____/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apt-Cacher-NG" APP="Apt-Cacher-NG"
var_tags="caching" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +68,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} maintenance page should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3142/acng-report.html${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html{CL}"
-60
View File
@@ -1,60 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: tteck
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://archivebox.io/
# App Default Values
APP="ArchiveBox"
var_tags="archive;bookmark"
var_cpu="2"
var_ram="1024"
var_disk="8"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/archivebox ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ${APP}"
systemctl stop archivebox
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}"
cd /opt/archivebox/data
pip install --upgrade --ignore-installed archivebox
sudo -u archivebox archivebox init
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start archivebox
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}"
+45 -24
View File
@@ -1,37 +1,59 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://aria2.github.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ _ ___
/ | _____(_)___ |__ \
/ /| | / ___/ / __ `/_/ /
/ ___ |/ / / / /_/ / __/
/_/ |_/_/ /_/\__,_/____/
EOF
}
header_info
echo -e "Loading..."
APP="Aria2" APP="Aria2"
var_tags="download-utility"
var_cpu="2"
var_ram="1024"
var_disk="8" var_disk="8"
var_cpu="2"
var_ram="1028"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +66,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:6880${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6880${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.audiobookshelf.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ __ __ ______
____ ___ ______/ (_)___ / /_ ____ ____ / /_______/ /_ ___ / / __/
/ __ `/ / / / __ / / __ \/ __ \/ __ \/ __ \/ //_/ ___/ __ \/ _ \/ / /_
/ /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / ,< (__ ) / / / __/ / __/
\__,_/\__,_/\__,_/_/\____/_.___/\____/\____/_/|_/____/_/ /_/\___/_/_/
EOF
}
header_info
echo -e "Loading..."
APP="audiobookshelf" APP="audiobookshelf"
var_tags="podcast;audiobook" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
echo "This application receives updates through the APT package manager." echo "This application receives updates through the APT package manager."
exit exit
} }
@@ -41,6 +64,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:13378${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
-84
View File
@@ -1,84 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: remz1337
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# App Default Values
APP="Authentik"
var_tags="identity-provider"
var_disk="15"
var_cpu="6"
var_ram="8192"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/authentik-server.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}"
systemctl stop authentik-server
systemctl stop authentik-worker
msg_ok "Stopped ${APP}"
msg_info "Building ${APP} website"
mkdir -p /opt/authentik
wget -qO authentik.tar.gz "${RELEASE}"
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
rm -rf authentik.tar.gz
cd /opt/authentik/website
npm install &>/dev/null
npm run build-bundled &>/dev/null
cd /opt/authentik/web
npm install &>/dev/null
npm run build &>/dev/null
msg_ok "Built ${APP} website"
msg_info "Installing Python Dependencies"
cd /opt/authentik
poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null
poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt &>/dev/null
pip install --no-cache-dir -r requirements.txt &>/dev/null
pip install . &>/dev/null
msg_ok "Installed Python Dependencies"
msg_info "Updating ${APP} to v${RELEASE} (Patience)"
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
bash /opt/authentik/lifecycle/ak migrate &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}"
systemctl start authentik-server
systemctl start authentik-worker
msg_ok "Started ${APP}"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}"
+46 -24
View File
@@ -1,44 +1,67 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://autobrr.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __ __
/ | __ __/ /_____ / /_ __________
/ /| |/ / / / __/ __ \/ __ \/ ___/ ___/
/ ___ / /_/ / /_/ /_/ / /_/ / / / /
/_/ |_\__,_/\__/\____/_.___/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Autobrr" APP="Autobrr"
var_tags="arr;" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /root/.config/autobrr/config.toml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /root/.config/autobrr/config.toml ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ${APP} LXC" msg_info "Stopping ${APP} LXC"
systemctl stop autobrr.service systemctl stop autobrr.service
msg_ok "Stopped ${APP} LXC" msg_ok "Stopped ${APP} LXC"
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
rm -rf /usr/local/bin/* rm -rf /usr/local/bin/*
wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4) wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_arm64 | cut -d\" -f4)
tar -C /usr/local/bin -xzf autobrr*.tar.gz tar -C /usr/local/bin -xzf autobrr*.tar.gz
rm -rf autobrr*.tar.gz rm -rf autobrr*.tar.gz
msg_ok "Updated ${APP} LXC" msg_ok "Updated ${APP} LXC"
@@ -55,6 +78,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:7474${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7474${CL}"
+44 -19
View File
@@ -1,33 +1,59 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.bazarr.media/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____
/ __ )____ _____ ____ ___________
/ __ / __ `/_ / / __ `/ ___/ ___/
/ /_/ / /_/ / / /_/ /_/ / / / /
/_____/\__,_/ /___/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Bazarr" APP="Bazarr"
var_tags="arr" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage
check_container_resources
if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
@@ -41,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:6767${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6767${CL}"
+42 -19
View File
@@ -1,33 +1,59 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://0xerr0r.github.io/blocky/latest/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __ __
/ __ )/ /___ _____/ /____ __
/ __ / / __ \/ ___/ //_/ / / /
/ /_/ / / /_/ / /__/ ,< / /_/ /
/_____/_/\____/\___/_/|_|\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Blocky" APP="Blocky"
var_tags="adblock" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
@@ -41,6 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" 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 "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
-82
View File
@@ -1,82 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://github.com/BookStackApp/BookStack
# App Default Values
APP="Bookstack"
var_tags="organizer"
var_cpu="1"
var_ram="1024"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/bookstack ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Apache2"
systemctl stop apache2
msg_ok "Services Stopped"
msg_info "Updating ${APP} to v${RELEASE}"
mv /opt/bookstack /opt/bookstack-backup
wget -q --directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
unzip -q /opt/v${RELEASE}.zip -d /opt
mv /opt/BookStack-${RELEASE} /opt/bookstack
cp /opt/bookstack-backup/.env /opt/bookstack/.env
cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/
cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/
cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/
cd /opt/bookstack
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
php artisan migrate --force &>/dev/null
chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
chmod -R 640 /opt/bookstack/.env
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
msg_info "Cleaning Up"
rm -rf /opt/bookstack-backup
rm -rf /opt/v${RELEASE}.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+48 -37
View File
@@ -1,52 +1,64 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.bunkerweb.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __ _ __ __
/ __ )__ ______ / /_____ ____| | / /__ / /_
/ __ / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
/ /_/ / /_/ / / / / ,< / __/ / | |/ |/ / __/ /_/ /
/_____/\__,_/_/ /_/_/|_|\___/_/ |__/|__/\___/_.___/
EOF
}
header_info
echo -e "Loading..."
APP="BunkerWeb" APP="BunkerWeb"
var_tags="webserver" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Updating $APP"
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_info "Updating ${APP} to ${RELEASE}" msg_ok "Updated $APP"
cat <<EOF >/etc/apt/preferences.d/bunkerweb
Package: bunkerweb
Pin: version ${RELEASE}
Pin-Priority: 1001
EOF
apt-get update
apt-get install -y nginx=1.26.2*
apt-get install -y bunkerweb=${RELEASE}
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }
@@ -55,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}/setup${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
+43 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://caddyserver.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ __ __
/ ____/___ _____/ /___/ /_ __
/ / / __ `/ __ / __ / / / /
/ /___/ /_/ / /_/ / /_/ / /_/ /
\____/\__,_/\__,_/\__,_/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Caddy" APP="Caddy"
var_tags="webserver" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /etc/caddy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /etc/caddy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" 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 "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
+64 -41
View File
@@ -1,46 +1,72 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) | Co-Author: remz1337 # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # Co-Author: remz1337
# Source: https://github.com/janeczku/calibre-web # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ ___ __ _ __ __
/ ____/___ _/ (_) /_ ________ | | / /__ / /_
/ / / __ `/ / / __ \/ ___/ _ \___| | /| / / _ \/ __ \
/ /___/ /_/ / / / /_/ / / / __/___/ |/ |/ / __/ /_/ /
\____/\__,_/_/_/_.___/_/ \___/ |__/|__/\___/_.___/
EOF
}
header_info
echo -e "Loading..."
APP="Calibre-Web" APP="Calibre-Web"
var_tags="eBook" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/cps.service ]]; then if [[ ! -f /etc/systemd/system/cps.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Stopping ${APP}" header_info
msg_info "Updating $APP LXC"
systemctl stop cps systemctl stop cps
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}"
cd /opt/kepubify cd /opt/kepubify
rm -rf kepubify-linux-64bit rm kepubify-linux-arm64
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-arm64 &>/dev/null
chmod +x kepubify-linux-64bit chmod +x kepubify-linux-arm64
rm /opt/calibre-web/metadata.db
wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web
menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \ menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
"2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \ "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \
"3" "Enables displaying of additional author infos on the authors page" OFF \ "3" "Enables displaying of additional author infos on the authors page" OFF \
@@ -78,8 +104,8 @@ function update_script() {
CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3) CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
spinner & spinner &
SPINNER_PID=$! SPINNER_PID=$!
options=()
if [ ! -z "$CHOICES" ]; then if [ ! -z "$CHOICES" ]; then
declare -a options
for CHOICE in $CHOICES; do for CHOICE in $CHOICES; do
case "$CHOICE" in case "$CHOICE" in
"1") "1")
@@ -114,22 +140,16 @@ function update_script() {
esac esac
done done
fi fi
if [ ${#options[@]} -gt 0 ]; then if [ ! -z "$options" ] && [ ${#options[@]} -gt 0 ]; then
cps_options=$( cps_options=$(IFS=, ; echo "${options[*]}")
IFS=,
echo "${options[*]}"
)
echo $cps_options > /opt/calibre-web/options.txt echo $cps_options > /opt/calibre-web/options.txt
pip install --upgrade calibreweb[$cps_options] &>/dev/null pip install --upgrade calibreweb[$cps_options]
else else
rm -rf /opt/calibre-web/options.txt rm /opt/calibre-web/options.txt 2> /dev/null
pip install --upgrade calibreweb &>/dev/null pip install --upgrade calibreweb
fi fi
msg_info "Starting ${APP}"
systemctl start cps systemctl start cps
msg_ok "Started ${APP}" msg_ok "Updated $APP LXC"
msg_ok "Updated Successfully"
exit exit
} }
@@ -137,7 +157,10 @@ start
build_container build_container
description description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 512
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8083${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://casaos.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ ____ _____
/ ____/___ __________ _/ __ \/ ___/
/ / / __ `/ ___/ __ `/ / / /\__ \
/ /___/ /_/ (__ ) /_/ / /_/ /___/ /
\____/\__,_/____/\__,_/\____//____/
EOF
}
header_info
echo -e "Loading..."
APP="CasaOS" APP="CasaOS"
var_tags="cloud" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP} ${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+46 -52
View File
@@ -1,72 +1,67 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://changedetection.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ ____ __ __ _
/ ____/ /_ ____ _____ ____ ____ / __ \___ / /____ _____/ /_(_)___ ____
/ / / __ \/ __ `/ __ \/ __ `/ _ \ / / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
/ /___/ / / / /_/ / / / / /_/ / __/ / /_/ / __/ /_/ __/ /__/ /_/ / /_/ / / / /
\____/_/ /_/\__,_/_/ /_/\__, /\___/ /_____/\___/\__/\___/\___/\__/_/\____/_/ /_/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Change Detection" APP="Change Detection"
var_tags="monitoring;crawler" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/changedetection.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources msg_info "Updating ${APP} LXC"
if [[ ! -f /etc/systemd/system/changedetection.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
msg_info "Installing Dependencies"
apt-get update apt-get update
apt-get install -y libjpeg-dev apt-get install -y libjpeg-dev
msg_ok "Updated Dependencies"
fi fi
msg_info "Updating ${APP}"
pip3 install changedetection.io --upgrade &>/dev/null pip3 install changedetection.io --upgrade &>/dev/null
msg_ok "Updated ${APP}"
msg_info "Updating Playwright"
pip3 install playwright --upgrade &>/dev/null pip3 install playwright --upgrade &>/dev/null
msg_ok "Updated Playwright"
if [[ -f /etc/systemd/system/browserless.service ]]; then
msg_info "Updating Browserless (Patience)"
git -C /opt/browserless/ fetch --all &>/dev/null
git -C /opt/browserless/ reset --hard origin/main &>/dev/null
npm update --prefix /opt/browserless &>/dev/null
/opt/browserless/node_modules/playwright-core/cli.js install --with-deps &>/dev/null
# Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
/opt/browserless/node_modules/playwright-core/cli.js install --force chrome &>/dev/null
/opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit &>/dev/null
npm run build --prefix /opt/browserless &>/dev/null
npm run build:function --prefix /opt/browserless &>/dev/null
npm prune production --prefix /opt/browserless &>/dev/null
systemctl restart browserless
msg_ok "Updated Browserless"
else
msg_error "No Browserless Installation Found!"
fi
systemctl restart changedetection systemctl restart changedetection
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
exit exit
@@ -77,6 +72,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://getchannels.com/dvr-server/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ __ ____ _ ______ _____
/ ____/ /_ ____ _____ ____ ___ / /____ / __ \ | / / __ \ / ___/___ ______ _____ _____
/ / / __ \/ __ `/ __ \/ __ \/ _ \/ / ___/ / / / / | / / /_/ / \__ \/ _ \/ ___/ | / / _ \/ ___/
/ /___/ / / / /_/ / / / / / / / __/ (__ ) / /_/ /| |/ / _, _/ ___/ / __/ / | |/ / __/ /
\____/_/ /_/\__,_/_/ /_/_/ /_/\___/_/____/ /_____/ |___/_/ |_| /____/\___/_/ |___/\___/_/
EOF
}
header_info
echo -e "Loading..."
APP="Channels" APP="Channels"
var_tags="dvr" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/channels-dvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/channels-dvr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,6 +64,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8089 ${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8089${CL}"
-59
View File
@@ -1,59 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Michel Roegl-Brunner (michelroegl-brunner)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://checkmk.com/
APP="checkmk"
var_tags="monitoring"
var_cpu="2"
var_ram="2048"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
header_info "$APP"
base_settings
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/checkmk_version.txt ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | grep -v "*-rc" | tail -n +2 | head -n 1)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating ${APP} to v${RELEASE}"
omd stop monitoring &>/dev/null
omd cp monitoring monitoringbackup &>/dev/null
wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
apt-get install -y /opt/checkmk.deb &>/dev/null
omd --force -V ${RELEASE}.cre update --conflict=install monitoring &>/dev/null
omd start monitoring &>/dev/null
omd -f rm monitoringbackup &>/dev/null
omd cleanup &>/dev/null
rm -rf /opt/checkmk.deb
msg_ok "Updated ${APP} to v${RELEASE}"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}/monitoring${CL}"
+43 -21
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.cloudflare.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ ________ __
/ ____/ /___ __ ______/ / __/ /___ _________ ____/ /
/ / / / __ \/ / / / __ / /_/ / __ `/ ___/ _ \/ __ /
/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / / / __/ /_/ /
\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/ \___/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="Cloudflared" APP="Cloudflared"
var_tags="network;cloudflare" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,4 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
-99
View File
@@ -1,99 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: tteck | Co-Author: havardthom
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://cockpit-project.org/
# App Default Values
APP="Cockpit"
var_tags="monitoring;network"
var_cpu="2"
var_ram="1024"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/cockpit ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update LXC" ON \
"2" "Install cockpit-file-sharing" OFF \
"3" "Install cockpit-identities" OFF \
"4" "Install cockpit-navigator" OFF \
3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then
msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated ${APP} LXC"
exit
fi
if [ "$UPD" == "2" ]; then
msg_info "Installing dependencies (patience)"
apt-get install -y attr &>/dev/null
apt-get install -y nfs-kernel-server &>/dev/null
apt-get install -y samba &>/dev/null
apt-get install -y samba-common-bin &>/dev/null
apt-get install -y winbind &>/dev/null
apt-get install -y gawk &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit file sharing"
wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
dpkg -i cockpit-file-sharing_*focal_all.deb &>/dev/null
rm cockpit-file-sharing_*focal_all.deb
msg_ok "Installed Cockpit file sharing"
exit
fi
if [ "$UPD" == "3" ]; then
msg_info "Installing dependencies (patience)"
apt-get install -y psmisc &>/dev/null
apt-get install -y samba &>/dev/null
apt-get install -y samba-common-bin &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit identities"
wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
dpkg -i cockpit-identities_*focal_all.deb &>/dev/null
rm cockpit-identities_*focal_all.deb
msg_ok "Installed Cockpit identities"
exit
fi
if [ "$UPD" == "4" ]; then
msg_info "Installing dependencies"
apt-get install -y rsync &>/dev/null
apt-get install -y zip &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit navigator"
wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
dpkg -i cockpit-navigator_*focal_all.deb &>/dev/null
rm cockpit-navigator_*focal_all.deb
msg_ok "Installed Cockpit navigator"
exit
fi
}
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 "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}"
+54 -40
View File
@@ -1,58 +1,73 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.commafeed.com/#/welcome # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ ______ __
/ ____/___ ____ ___ ____ ___ ____ _/ ____/__ ___ ____/ /
/ / / __ \/ __ `__ \/ __ `__ \/ __ `/ /_ / _ \/ _ \/ __ /
/ /___/ /_/ / / / / / / / / / / / /_/ / __/ / __/ __/ /_/ /
\____/\____/_/ /_/ /_/_/ /_/ /_/\__,_/_/ \___/\___/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="CommaFeed" APP="CommaFeed"
var_tags="rss-reader" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources msg_info "Stopping CommaFeed"
if [[ ! -d /opt/commafeed ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop commafeed systemctl stop commafeed
msg_ok "Stopped ${APP}" msg_ok "Stopped CommaFeed"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating CommaFeed"
wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip cd /opt/commafeed
unzip -q commafeed-${RELEASE}-h2-jvm.zip rm commafeed.jar
rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/ wget -q https://github.com/Athou/commafeed/releases/latest/download/commafeed.jar
rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip msg_ok "Updated CommaFeed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting CommaFeed"
systemctl start commafeed systemctl start commafeed
msg_ok "Started ${APP}" msg_ok "Update Completed Successfully"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }
@@ -61,6 +76,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8082${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8082${CL}"
+11 -29
View File
@@ -1,33 +1,23 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# Co-Author: MickLesk # License: MIT
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
# This sets verbose mode if the global variable is set to "yes" # This sets verbose mode if the global variable is set to "yes"
# if [ "$VERBOSE" == "yes" ]; then set -x; fi # if [ "$VERBOSE" == "yes" ]; then set -x; fi
# This function sets color variables for formatting output in the terminal # This function sets color variables for formatting output in the terminal
# Colors
YW=$(echo "\033[33m") YW=$(echo "\033[33m")
YWB=$(echo "\033[93m")
BL=$(echo "\033[36m") BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m") RD=$(echo "\033[01;31m")
GN=$(echo "\033[1;92m") GN=$(echo "\033[1;92m")
# Formatting
CL=$(echo "\033[m") CL=$(echo "\033[m")
UL=$(echo "\033[4m") CM="${GN}${CL}"
BOLD=$(echo "\033[1m") CROSS="${RD}${CL}"
BFR="\\r\\033[K" BFR="\\r\\033[K"
HOLD=" " HOLD=" "
TAB=" "
# Icons
CM="${TAB}✔️${TAB}${CL}"
CROSS="${TAB}✖️${TAB}${CL}"
INFO="${TAB}💡${TAB}${CL}"
# This sets error handling options and defines the error_handler function to handle errors # This sets error handling options and defines the error_handler function to handle errors
set -Eeuo pipefail set -Eeuo pipefail
@@ -46,24 +36,19 @@ function error_handler() {
# This function displays a spinner. # This function displays a spinner.
function spinner() { function spinner() {
local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏') local chars="/-\|"
local spin_i=0 local spin_i=0
local interval=0.1
printf "\e[?25l" printf "\e[?25l"
local color="${YWB}"
while true; do while true; do
printf "\r ${color}%s${CL}" "${frames[spin_i]}" printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
spin_i=$(( (spin_i + 1) % ${#frames[@]} )) sleep 0.1
sleep "$interval"
done done
} }
# This function displays an informational message with a yellow color. # This function displays an informational message with a yellow color.
function msg_info() { function msg_info() {
local msg="$1" local msg="$1"
echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}" echo -ne " ${HOLD} ${YW}${msg} "
spinner & spinner &
SPINNER_PID=$! SPINNER_PID=$!
} }
@@ -138,14 +123,11 @@ function select_storage() {
"Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \ "Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \
16 $(($MSG_MAX_LENGTH + 23)) 6 \ 16 $(($MSG_MAX_LENGTH + 23)) 6 \
"${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted." "${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted."
if [ $? -ne 0 ]; then
echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
exit 0
fi
done done
printf "%s" "$STORAGE" printf $STORAGE
fi fi
} }
# Test if required variables are set # Test if required variables are set
[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable." [[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable." [[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
+46 -24
View File
@@ -1,43 +1,66 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://cronicle.net/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ _ __
/ ____/________ ____ (_)____/ /__
/ / / ___/ __ \/ __ \/ / ___/ / _ \
/ /___/ / / /_/ / / / / / /__/ / __/
\____/_/ \____/_/ /_/_/\___/_/\___/
EOF
}
header_info
echo -e "Loading..."
APP="Cronicle" APP="Cronicle"
var_tags="task-scheduler" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info
check_container_storage
check_container_resources
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
"1" "Update ${APP}" ON \ "1" "Update ${APP}" ON \
"2" "Install ${APP} Worker" OFF \ "2" "Install ${APP} Worker" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
if [[ ! -d /opt/cronicle ]]; then header_info
msg_error "No ${APP} Installation Found!" if [[ ! -d /opt/cronicle ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
exit
fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..." echo "Installing NPM..."
@@ -103,6 +126,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Primary should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3012${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3012${CL}"
+65 -41
View File
@@ -1,49 +1,73 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func # source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://daemonsync.me/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values echo "Unsupported. View notes on GitHub."
APP="Daemon Sync"
var_tags="sync"
var_cpu="1"
var_ram="512"
var_disk="8"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings # function header_info {
header_info "$APP" # clear
base_settings # cat <<"EOF"
# ____ _____
# / __ \____ ____ ____ ___ ____ ____ / ___/__ ______ _____
# / / / / __ / _ \/ __ __ \/ __ \/ __ \ \__ \/ / / / __ \/ ___/
# / /_/ / /_/ / __/ / / / / / /_/ / / / / ___/ / /_/ / / / / /__
# /_____/\__,_/\___/_/ /_/ /_/\____/_/ /_/ /____/\__, /_/ /_/\___/
# /____/
# EOF
# }
# header_info
# echo -e "Loading..."
# APP="Daemon Sync"
# var_disk="8"
# var_cpu="1"
# var_ram="512"
# var_os="debian"
# var_version="12"
# variables
# color
# catch_errors
# Core # function default_settings() {
variables # CT_TYPE="1"
color # PW=""
catch_errors # CT_ID=$NEXTID
# HN=$NSAPP
# DISK_SIZE="$var_disk"
# CORE_COUNT="$var_cpu"
# RAM_SIZE="$var_ram"
# BRG="vmbr0"
# NET="dhcp"
# GATE=""
# APT_CACHER=""
# APT_CACHER_IP=""
# DISABLEIP6="no"
# MTU=""
# SD=""
# NS=""
# MAC=""
# VLAN=""
# SSH="no"
# VERB="no"
# echo_default
# }
function update_script() { # function update_script() {
header_info # header_info
check_container_storage # if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources # msg_info "Updating $APP LXC"
if [[ ! -d /var ]]; then # apt-get update &>/dev/null
msg_error "No ${APP} Installation Found!" # apt-get -y upgrade &>/dev/null
exit # msg_ok "Updated $APP LXC"
fi # exit
msg_info "Updating $APP LXC" # }
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated $APP LXC"
exit
}
start # start
build_container # build_container
description # description
msg_ok "Completed Successfully!\n" # msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" # echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" # ${BL}http://${IP}:8084${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8084${CL}"
+47 -25
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://dashy.to/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __
/ __ \____ ______/ /_ __ __
/ / / / __ / ___/ __ \/ / / /
/ /_/ / /_/ (__ ) / / / /_/ /
/_____/\__,_/____/_/ /_/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Dashy" APP="Dashy"
var_tags="dashboard" var_disk="6"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="6"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/dashy/public/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
@@ -53,8 +76,8 @@ function update_script() {
mkdir -p /opt/dashy mkdir -p /opt/dashy
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1 wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
cd /opt/dashy cd /opt/dashy
npm install npm install &>/dev/null
npm run build npm run build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP} to ${RELEASE}"
@@ -82,6 +105,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:4000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
+43 -21
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.debian.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __ _
/ __ \___ / /_ (_)___ ____
/ / / / _ \/ __ \/ / __ `/ __ \
/ /_/ / __/ /_/ / / /_/ / / / /
/_____/\___/_.___/_/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Debian" APP="Debian"
var_tags="os" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,4 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.phoscon.de/en/conbee2/software#deconz # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __________ _ _______
____/ /__ / ____/ __ \/ | / /__ /
/ __ / _ \/ / / / / / |/ / / /
/ /_/ / __/ /___/ /_/ / /| / / /__
\__,_/\___/\____/\____/_/ |_/ /____/
EOF
}
header_info
echo -e "Loading..."
APP="deCONZ" APP="deCONZ"
var_tags="zigbee" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}${CL}\n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+46 -23
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.deluge-torrent.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __
/ __ \___ / /_ ______ ____
/ / / / _ \/ / / / / __ `/ _ \
/ /_/ / __/ / /_/ / /_/ / __/
/_____/\___/_/\__,_/\__, /\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Deluge" APP="Deluge"
var_tags="torrent" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/deluged.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/deluged.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
pip3 install deluge[all] --upgrade pip3 install deluge[all] --upgrade
@@ -44,6 +68,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8112${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8112${CL}"
+43 -21
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.docker.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __
/ __ \____ _____/ /_ __ _____
/ / / / __ \/ ___/ //_/ _ \/ ___/
/ /_/ / /_/ / /__/ ,< / __/ /
/_____/\____/\___/_/|_|\___/_/
EOF
}
header_info
echo -e "Loading..."
APP="Docker" APP="Docker"
var_tags="docker" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,4 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://dockge.kuma.pet/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __
/ __ \____ _____/ /______ ____
/ / / / __ \/ ___/ //_/ __ `/ _ \
/ /_/ / /_/ / /__/ ,< / /_/ / __/
/_____/\____/\___/_/|_|\__, /\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Dockge" APP="Dockge"
var_tags="docker" var_disk="18"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="18"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/dockge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/dockge ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt/dockge cd /opt/dockge
docker compose pull docker compose pull
@@ -45,6 +68,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5001${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5001${CL}"
+48 -26
View File
@@ -1,46 +1,69 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://emby.media/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ __
/ ____/___ ___ / /_ __ __
/ __/ / __ __ \/ __ \/ / / /
/ /___/ / / / / / /_/ / /_/ /
/_____/_/ /_/ /_/_.___/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Emby" APP="Emby"
var_tags="media" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="ubuntu" var_os="ubuntu"
var_version="22.04" var_version="22.04"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/emby-server ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/emby-server ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop emby-server systemctl stop emby-server
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb &>/dev/null wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_arm64.deb &>/dev/null
dpkg -i emby-server-deb_${LATEST}_amd64.deb &>/dev/null dpkg -i emby-server-deb_${LATEST}_arm64.deb &>/dev/null
rm emby-server-deb_${LATEST}_amd64.deb rm emby-server-deb_${LATEST}_arm64.deb
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
@@ -55,6 +78,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8096${CL}\n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.emqx.com/en # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ _______ _ __
/ ____/ |/ / __ \ | |/ /
/ __/ / /|_/ / / / / | /
/ /___/ / / / /_/ / / |
/_____/_/ /_/\___\_\/_/|_|
EOF
}
header_info
echo -e "Loading..."
APP="EMQX" APP="EMQX"
var_tags="mqtt" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:18083${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18083${CL}"
+58 -31
View File
@@ -1,50 +1,78 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz) # Author: tteck
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # Co-Author: MickLesk (Canbiz)
# Source: https://ersatztv.org/ # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# Source: https://github.com/ErsatzTV/ErsatzTV/
# App Default Values
function header_info {
clear
cat <<"EOF"
______ __ _______ __
/ ____/_____________ _/ /_____/_ __/ | / /
/ __/ / ___/ ___/ __ `/ __/_ / / / | | / /
/ /___/ / (__ ) /_/ / /_ / /_/ / | |/ /
/_____/_/ /____/\__,_/\__/ /___/_/ |___/
EOF
}
header_info
echo -e "Loading..."
APP="ErsatzTV" APP="ErsatzTV"
var_tags="iptv" var_disk="5"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_disk="5"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
if [[ ! -d /opt/ErsatzTV ]]; then read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
msg_error "No ${APP} Installation Found!" [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
exit
fi fi
msg_info "Stopping ErsatzTV" msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV" msg_ok "Stopped ErsatzTV"
msg_info "Updating ErsatzTV" msg_info "Updating ErsatzTV"
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
cp -R /opt/ErsatzTV/ ErsatzTV-backup if [ -d /opt/ErsatzTV/ErsatzTV_bak ]; then
rm ErsatzTV-backup/ErsatzTV rm -rf /opt/ErsatzTV/ErsatzTV_bak
rm -rf /opt/ErsatzTV fi
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt mv /opt/ErsatzTV/ErsatzTV /opt/ErsatzTV/ErsatzTV_bak
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-arm64.tar.gz" | tar -xz -C /opt
cp -R ErsatzTV-backup/* /opt/ErsatzTV/ mv "/opt/ErsatzTV-${RELEASE}-linux-arm64" /opt/ErsatzTV
rm -rf ErsatzTV-backup
msg_ok "Updated ErsatzTV" msg_ok "Updated ErsatzTV"
msg_info "Starting ErsatzTV" msg_info "Starting ErsatzTV"
@@ -59,6 +87,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8409${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://esphome.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___________ ____ __ __
/ ____/ ___// __ \/ / / /___ ____ ___ ___
/ __/ \__ \/ /_/ / /_/ / __ \/ __ `__ \/ _ \
/ /___ ___/ / ____/ __ / /_/ / / / / / / __/
/_____//____/_/ /_/ /_/\____/_/ /_/ /_/\___/
EOF
}
header_info
echo -e "Loading..."
APP="ESPHome" APP="ESPHome"
var_tags="automation" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ESPHome" msg_info "Stopping ESPHome"
systemctl stop esphomeDashboard systemctl stop esphomeDashboard
msg_ok "Stopped ESPHome" msg_ok "Stopped ESPHome"
@@ -55,6 +78,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:6052${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6052${CL}"
-49
View File
@@ -1,49 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://evcc.io/en/
# App Default Values
APP="evcc"
var_tags="solar;ev;automation"
var_cpu="1"
var_ram="1024"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating evcc LXC"
apt update &>/dev/null
apt --only-upgrade install -y evcc &>/dev/null
msg_ok "Updated Successfully"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:7070${CL}"
+48 -29
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) | Co-Author: Scorpoon # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # Co-Author: Scorpoon
# Source: https://github.com/revenz/Fenrus # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______
/ ____/__ ____ _______ _______
/ /_ / _ \/ __ \/ ___/ / / / ___/
/ __/ / __/ / / / / / /_/ (__ )
/_/ \___/_/ /_/_/ \__,_/____/
EOF
}
header_info
echo -e "Loading..."
APP="Fenrus" APP="Fenrus"
var_tags="dashboard" var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/${APP} ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
@@ -43,11 +67,7 @@ function update_script() {
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
mkdir /opt/fenrus-data-backup mkdir /opt/fenrus-data-backup
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
if [[ ! -d /opt/fenrus-data-backup/data ]]; then if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi
msg_error "Backup of data folder failed! exiting..."
rm -r /opt/fenrus-data-backup/
exit
fi
export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/" cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
@@ -69,6 +89,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
+46 -24
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://fhem.de/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
APP="FHEM" clear
var_tags="automation" cat <<"EOF"
________
/ ____/ /_ ___ ____ ___
/ /_ / __ \/ _ \/ __ `__ \
/ __/ / / / / __/ / / / / /
/_/ /_/ /_/\___/_/ /_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Fhem"
var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/fhem.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/fhem.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8083${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
-84
View File
@@ -1,84 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: quantumryuu
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://firefly-iii.org/
# App Default Values
APP="Firefly"
var_tags="finance"
var_cpu="1"
var_ram="1024"
var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/firefly ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Apache2"
systemctl stop apache2
msg_ok "Stopped Apache2"
msg_info "Updating ${APP} to v${RELEASE}"
cp /opt/firefly/.env /opt/.env
cp -r /opt/firefly/storage /opt/storage
rm -rf /opt/firefly/*
cd /opt
wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz"
tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage'
cd /opt/firefly
composer install --no-dev --no-interaction &>/dev/null
php artisan migrate --seed --force &>/dev/null
php artisan firefly:decrypt-all &>/dev/null
php artisan cache:clear &>/dev/null
php artisan view:clear &>/dev/null
php artisan firefly:upgrade-database &>/dev/null
php artisan firefly:laravel-passport-keys &>/dev/null
chown -R www-data:www-data /opt/firefly
chmod -R 775 /opt/firefly/storage
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
msg_info "Cleaning up"
rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+54 -32
View File
@@ -1,50 +1,69 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) | Co-Author: remz1337 # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # Co-Author: remz1337
# Source: https://github.com/FlareSolverr/FlareSolverr # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ _____ __
/ ____/ /___ _________ / ___/____ / / _____ __________
/ /_ / / __ `/ ___/ _ \\__ \/ __ \/ / | / / _ \/ ___/ ___/
/ __/ / / /_/ / / / __/__/ / /_/ / /| |/ / __/ / / /
/_/ /_/\__,_/_/ \___/____/\____/_/ |___/\___/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="FlareSolverr" APP="FlareSolverr"
var_tags="proxy" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ ! -d /opt/flaresolverr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
systemctl stop flaresolverr systemctl stop flaresolverr
wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz cd /opt/flaresolverr
tar -xzf flaresolverr_linux_x64.tar.gz -C /opt git pull
rm flaresolverr_linux_x64.tar.gz
systemctl start flaresolverr systemctl start flaresolverr
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }
@@ -52,7 +71,10 @@ start
build_container build_container
description description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 512
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8191${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8191${CL}"
+48 -22
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://flowiseai.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
________ _ ___ ____
/ ____/ /___ _ __(_)_______ / | / _/
/ /_ / / __ \ | /| / / / ___/ _ \/ /| | / /
/ __/ / / /_/ / |/ |/ / (__ ) __/ ___ |_/ /
/_/ /_/\____/|__/|__/_/____/\___/_/ |_/___/
EOF
}
header_info
echo -e "Loading..."
APP="FlowiseAI" APP="FlowiseAI"
var_tags="low-code"
var_disk="10" var_disk="10"
var_cpu="4" var_cpu="4"
var_ram="4096" var_ram="4096"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/systemd/system/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/systemd/system/flowise.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
systemctl stop flowise systemctl stop flowise
npm install -g flowise --upgrade npm install -g flowise --upgrade
@@ -44,7 +67,10 @@ start
build_container build_container
description description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 2048
pct set $CTID -cores 2
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+51 -28
View File
@@ -1,52 +1,76 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://forgejo.org/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ _
/ ____/___ _________ ___ (_)___
/ /_ / __ \/ ___/ __ `/ _ \ / / __ \
/ __/ / /_/ / / / /_/ / __/ / / /_/ /
/_/ \____/_/ \__, /\___/_/ /\____/
/____/ /___/
EOF
}
header_info
echo -e "Loading..."
APP="Forgejo" APP="Forgejo"
var_tags="git" var_disk="10"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="10"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/forgejo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/forgejo ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop forgejo systemctl stop forgejo
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-arm64"
rm -rf /opt/forgejo/* rm -rf /opt/forgejo/*
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64 cp -r forgejo-$RELEASE-linux-arm64 /opt/forgejo/forgejo-$RELEASE-linux-arm64
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64 chmod +x /opt/forgejo/forgejo-$RELEASE-linux-arm64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo ln -sf /opt/forgejo/forgejo-$RELEASE-linux-arm64 /usr/local/bin/forgejo
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Cleaning" msg_info "Cleaning"
rm -rf forgejo-$RELEASE-linux-amd64 rm -rf forgejo-$RELEASE-linux-arm64
msg_ok "Cleaned" msg_ok "Cleaned"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
@@ -61,6 +85,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+53 -26
View File
@@ -1,38 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Authors: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://frigate.video/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ _ __
/ ____/____(_)___ _____ _/ /____
/ /_ / ___/ / __ `/ __ `/ __/ _ \
/ __/ / / / / /_/ / /_/ / /_/ __/
/_/ /_/ /_/\__, /\__,_/\__/\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Frigate" APP="Frigate"
var_tags="nvr" var_disk="20"
var_cpu="4" var_cpu="4"
var_ram="4096" var_ram="4096"
var_disk="20"
var_os="debian" var_os="debian"
var_version="11" var_version="11"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_storage msg_error "There is currently no update path available."
check_container_resources
if [[ ! -f /etc/systemd/system/frigate.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "To update Frigate, create a new container and transfer your configuration."
exit exit
} }
@@ -40,7 +63,11 @@ start
build_container build_container
description description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 1024
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:5000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" echo -e "go2rtc should be reachable by going to the following URL.
${BL}http://${IP}:1984${CL} \n"
-54
View File
@@ -1,54 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) | Co-Author: Rogue-King
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://about.gitea.com/
# App Default Values
APP="Gitea"
var_tags="git"
var_cpu="1"
var_ram="1024"
var_disk="8"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /usr/local/bin/gitea ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
msg_info "Updating $APP to ${RELEASE}"
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
systemctl stop gitea
rm -rf /usr/local/bin/gitea
mv gitea* /usr/local/bin/gitea
chmod +x /usr/local/bin/gitea
systemctl start gitea
msg_ok "Updated $APP Successfully"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
-72
View File
@@ -1,72 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: kristocopani
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://github.com/glanceapp/glance
# App Default Values
APP="Glance"
var_tags="dashboard"
var_cpu="1"
var_ram="512"
var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/glance.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop glance
msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
rm -rf /opt/glance/glance
tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Service"
systemctl start glance
msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/glance-linux-amd64.tar.gz
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
-51
View File
@@ -1,51 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# App Default Values
APP="GLPI"
var_tags="asset-management;foss"
var_cpu="2"
var_ram="2048"
var_disk="10"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/glpi ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_error "Ther is currently no automatic update function for ${APP}."
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
+48 -25
View File
@@ -1,43 +1,67 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://github.com/AlexxIT/go2rtc # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
___ __
____ _____ |__ \ _____/ /______
/ __ `/ __ \__/ // ___/ __/ ___/
/ /_/ / /_/ / __// / / /_/ /__
\__, /\____/____/_/ \__/\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="go2rtc" APP="go2rtc"
var_tags="recorder;video" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/go2rtc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/go2rtc ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP" msg_info "Updating $APP"
systemctl stop go2rtc systemctl stop go2rtc
cd /opt/go2rtc cd /opt/go2rtc
rm go2rtc_linux_amd64 rm go2rtc_linux_amd64
wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64 wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_arm64
chmod +x go2rtc_linux_amd64 chmod +x go2rtc_linux_arm64
systemctl start go2rtc systemctl start go2rtc
msg_ok "Updated $APP" msg_ok "Updated $APP"
exit exit
@@ -48,6 +72,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:1984${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1984${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://github.com/Forceu/Gokapi # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ __ _
/ ____/___ / /______ _____ (_)
/ / __/ __ \/ //_/ __ `/ __ \/ /
/ /_/ / /_/ / ,< / /_/ / /_/ / /
\____/\____/_/|_|\__,_/ .___/_/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Gokapi" APP="Gokapi"
var_tags="file;sharing" var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/gokapi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/gokapi ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,6 +64,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:53842/setup${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:53842/setup${CL}"
+46 -46
View File
@@ -1,60 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://gotify.net/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ __ _ ____
/ ____/___ / /_(_) __/_ __
/ / __/ __ \/ __/ / /_/ / / /
/ /_/ / /_/ / /_/ / __/ /_/ /
\____/\____/\__/_/_/ \__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Gotify" APP="Gotify"
var_tags="notification" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources msg_error "There is currently no update path available."
if [[ ! -d /opt/gotify ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop gotify
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/gotify
wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
unzip -oq gotify-linux-amd64.zip
rm -rf gotify-linux-amd64.zip
chmod +x gotify-linux-amd64
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start gotify
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }
@@ -63,6 +64,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP} ${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://grafana.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
______ ____
/ ____/________ _/ __/___ _____ ____ _
/ / __/ ___/ __ / /_/ __ / __ \/ __ /
/ /_/ / / / /_/ / __/ /_/ / / / / /_/ /
\____/_/ \__,_/_/ \__,_/_/ /_/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="Grafana" APP="Grafana"
var_tags="monitoring;visualization" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
-80
View File
@@ -1,80 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Source: https://github.com/gristlabs/grist-core
# Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# App Default Values
APP="Grist"
var_tags="database;spreadsheet"
var_cpu="1"
var_ram="2048"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/grist ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP} Service"
systemctl stop grist
msg_ok "Stopped ${APP} Service"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
rm -rf grist_bak
mv grist grist_bak
wget -q https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip
unzip -q v$RELEASE.zip
mv grist-core-${RELEASE} grist
cp -n /opt/grist_bak/.env /opt/grist/.env
cd grist
yarn install >/dev/null 2>&1
yarn run build:prod >/dev/null 2>&1
yarn run install:python >/dev/null 2>&1
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP} Service"
systemctl start grist
msg_ok "Started ${APP} Service"
msg_info "Cleaning up"
rm -rf /opt/v$RELEASE.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully!\n"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
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 "${TAB}${GATEWAY}${BGN}Grist: http://${IP}:8484${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://grocy.info/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ __________ _______ __
/ __ / ___/ __ \/ ___/ / / /
/ /_/ / / / /_/ / /__/ /_/ /
\__, /_/ \____/\___/\__, /
/____/ /____/
EOF
}
header_info
echo -e "Loading..."
APP="grocy" APP="grocy"
var_tags="grocery;household" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
php_version=$(php -v | head -n 1 | awk '{print $2}') php_version=$(php -v | head -n 1 | awk '{print $2}')
if [[ ! $php_version == "8.3"* ]]; then if [[ ! $php_version == "8.3"* ]]; then
msg_info "Updating PHP" msg_info "Updating PHP"
@@ -54,6 +77,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
+44 -21
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://github.com/juanfont/headscale # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __ __ __
/ / / /__ ____ _____/ /_____________ _/ /__
/ /_/ / _ \/ __ `/ __ / ___/ ___/ __ `/ / _ \
/ __ / __/ /_/ / /_/ (__ ) /__/ /_/ / / __/
/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/
EOF
}
header_info
echo -e "Loading..."
APP="Headscale" APP="Headscale"
var_tags="tailscale" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /etc/headscale ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /etc/headscale ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
@@ -60,4 +84,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+50 -23
View File
@@ -1,48 +1,73 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://heimdall.site/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ _ _ _ ___ _ _ _
/\ /\___(_)_ __ ___ __| | __ _| | | / \__ _ ___| |__ | |__ ___ __ _ _ __ __| |
/ /_/ / _ \ | '_ ` _ \ / _` |/ _` | | | / /\ / _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
/ __ / __/ | | | | | | (_| | (_| | | | / /_// (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
\/ /_/ \___|_|_| |_| |_|\__,_|\__,_|_|_| /___,' \__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_|
EOF
}
header_info
echo -e "Loading..."
APP="Heimdall-Dashboard" APP="Heimdall-Dashboard"
var_tags="dashboard" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/Heimdall ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/Heimdall ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop heimdall systemctl stop heimdall
sleep 1 sleep 1
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Backing up Data" msg_info "Backing up Data"
cp -R /opt/Heimdall/database database-backup cp -R /opt/Heimdall/database database-backup
cp -R /opt/Heimdall/public public-backup cp -R /opt/Heimdall/public public-backup
sleep 1 sleep 1
msg_ok "Backed up Data" msg_ok "Backed up Data"
msg_info "Updating Heimdall Dashboard to ${RELEASE}" msg_info "Updating Heimdall Dashboard to ${RELEASE}"
wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
tar xzf ${RELEASE}.tar.gz tar xzf ${RELEASE}.tar.gz
@@ -53,16 +78,19 @@ function update_script() {
COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Heimdall Dashboard to ${RELEASE}" msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
msg_info "Restoring Data" msg_info "Restoring Data"
cd ~ cd ~
cp -R database-backup/* /opt/Heimdall/database cp -R database-backup/* /opt/Heimdall/database
cp -R public-backup/* /opt/Heimdall/public cp -R public-backup/* /opt/Heimdall/public
sleep 1 sleep 1
msg_ok "Restored Data" msg_ok "Restored Data"
msg_info "Cleanup" msg_info "Cleanup"
rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall} rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
sleep 1 sleep 1
msg_ok "Cleaned" msg_ok "Cleaned"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start heimdall.service systemctl start heimdall.service
sleep 2 sleep 2
@@ -79,6 +107,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:7990${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7990${CL}"
+43 -21
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.hivemq.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ ___ __ _______ ____________
/ / / (_) _____ / |/ / __ \ / ____/ ____/
/ /_/ / / | / / _ \/ /|_/ / / / / / / / __/
/ __ / /| |/ / __/ / / / /_/ / / /___/ /___
/_/ /_/_/ |___/\___/_/ /_/\___\_\ \____/_____/
EOF
}
header_info
echo -e "Loading..."
APP="HiveMQ" APP="HiveMQ"
var_tags="mqtt" var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,4 +64,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
-82
View File
@@ -1,82 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: MickLesk (Canbiz) & vhsdream
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://hoarder.app/
# App Default Values
APP="Hoarder"
var_tags="bookmark"
var_cpu="2"
var_ram="4096"
var_disk="8"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/hoarder ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
msg_info "Stopping Services"
systemctl stop hoarder-web hoarder-workers hoarder-browser
msg_ok "Stopped Services"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
mv /opt/hoarder/.env /opt/.env
rm -rf /opt/hoarder
wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
mv hoarder-${RELEASE} /opt/hoarder
cd /opt/hoarder/apps/web
pnpm install --frozen-lockfile &>/dev/null
pnpm exec next build --experimental-build-mode compile &>/dev/null
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
cd /opt/hoarder/apps/workers
pnpm install --frozen-lockfile &>/dev/null
export DATA_DIR=/opt/hoarder_data
cd /opt/hoarder/packages/db
pnpm migrate &>/dev/null
mv /opt/.env /opt/hoarder/.env
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Services"
systemctl start hoarder-browser hoarder-workers hoarder-web
msg_ok "Started Services"
msg_info "Cleaning up"
rm -R /opt/v${RELEASE}.zip
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
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 "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+56 -62
View File
@@ -1,78 +1,73 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://homarr.dev/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __
/ / / /___ ____ ___ ____ ___________
/ /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
/ __ / /_/ / / / / / / /_/ / / / /
/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Homarr" APP="Homarr"
var_tags="arr;dashboard" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/homarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources msg_info "Updating $APP (Patience)"
if [[ ! -d /opt/homarr ]]; then systemctl stop homarr
msg_error "No ${APP} Installation Found!" cd /opt/homarr
if ! git pull; then
echo "Already up to date."
systemctl start homarr
echo "No update required."
exit exit
fi fi
RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') yarn install
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then yarn build
msg_info "Stopping Services"
systemctl stop homarr
msg_ok "Services Stopped"
msg_info "Backing up Data"
mkdir -p /opt/homarr-data-backup
cp /opt/homarr/.env /opt/homarr-data-backup/.env
cp /opt/homarr/database/db.sqlite /opt/homarr-data-backup/db.sqlite
cp -r /opt/homarr/data/configs /opt/homarr-data-backup/configs
msg_ok "Backed up Data"
msg_info "Updating ${APP} to ${RELEASE}"
wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
rm -rf v${RELEASE}.zip
rm -rf /opt/homarr
mv homarr-${RELEASE} /opt/homarr
mv /opt/homarr-data-backup/.env /opt/homarr/.env
cd /opt/homarr
yarn install &>/dev/null
yarn build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Restoring Data"
rm -rf /opt/homarr/data/configs
mv /opt/homarr-data-backup/configs /opt/homarr/data/configs
mv /opt/homarr-data-backup/db.sqlite /opt/homarr/database/db.sqlite
yarn db:migrate &>/dev/null
rm -rf /opt/homarr-data-backup
msg_ok "Restored Data"
msg_info "Starting Services"
systemctl start homarr systemctl start homarr
msg_ok "Started Services" msg_ok "Updated $APP"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }
@@ -81,6 +76,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+50 -27
View File
@@ -1,33 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.home-assistant.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ _ _ _ ___
/\ /\___ _ __ ___ ___ /_\ ___ ___(_)___| |_ __ _ _ __ | |_ / __\___ _ __ ___
/ /_/ / _ \| '_ ` _ \ / _ \ //_\\/ __/ __| / __| __/ _` | '_ \| __| / / / _ \| '__/ _ \
/ __ / (_) | | | | | | __/ / _ \__ \__ \ \__ \ || (_| | | | | |_ / /__| (_) | | | __/
\/ /_/ \___/|_| |_| |_|\___| \_/ \_/___/___/_|___/\__\__,_|_| |_|\__| \____/\___/|_| \___|
EOF
}
header_info
echo -e "Loading..."
APP="Home Assistant-Core" APP="Home Assistant-Core"
var_tags="automation;smarthome" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="8"
var_os="ubuntu" var_os="ubuntu"
var_version="24.04" var_version="24.04"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /srv/homeassistant ]]; then if [[ ! -d /srv/homeassistant ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
@@ -39,6 +64,7 @@ function update_script() {
"2" "Install HACS" OFF \ "2" "Install HACS" OFF \
"3" "Install FileBrowser" OFF \ "3" "Install FileBrowser" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
header_info
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
clear clear
@@ -51,9 +77,7 @@ function update_script() {
echo -e "${GN}Updating to Stable Version${CL}" echo -e "${GN}Updating to Stable Version${CL}"
BR="" BR=""
fi fi
if [[ "$PY" =~ ^python3\.(11|12)\.[0-9]+$ ]]; then if [[ "$PY" == "python3.11" ]]; then echo -e "⚠️ Home Assistant will soon require Python 3.12."; fi
echo -e "⚠️ Home Assistant will soon require Python 3.13.x";
fi
msg_info "Stopping Home Assistant" msg_info "Stopping Home Assistant"
systemctl stop homeassistant systemctl stop homeassistant
@@ -61,7 +85,7 @@ function update_script() {
msg_info "Updating Home Assistant" msg_info "Updating Home Assistant"
source /srv/homeassistant/bin/activate source /srv/homeassistant/bin/activate
uv pip install ${BR}--upgrade homeassistant &>/dev/null pip install ${BR}--upgrade homeassistant &>/dev/null
msg_ok "Updated Home Assistant" msg_ok "Updated Home Assistant"
msg_info "Starting Home Assistant" msg_info "Starting Home Assistant"
@@ -87,7 +111,7 @@ function update_script() {
read -r -p "Would you like to use No Authentication? <y/N> " prompt read -r -p "Would you like to use No Authentication? <y/N> " prompt
msg_info "Installing FileBrowser" msg_info "Installing FileBrowser"
RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g') RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g')
curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-arm64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
filebrowser config init -a '0.0.0.0' &>/dev/null filebrowser config init -a '0.0.0.0' &>/dev/null
@@ -97,7 +121,7 @@ function update_script() {
else else
filebrowser config init -a '0.0.0.0' &>/dev/null filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null filebrowser users add admin changeme --perm.admin &>/dev/null
fi fi
msg_ok "Installed FileBrowser" msg_ok "Installed FileBrowser"
@@ -118,7 +142,7 @@ WantedBy=default.target" >$service_path
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "FileBrowser should be reachable by going to the following URL. echo -e "FileBrowser should be reachable by going to the following URL.
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" ${BL}http://$IP:8080${CL} admin|changeme\n"
exit exit
fi fi
} }
@@ -128,6 +152,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8123${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
+50 -25
View File
@@ -1,33 +1,58 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.home-assistant.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __ ___ _ __ __
/ / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
/ /_/ / __ \/ __ __ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ / __ \/ __/
/ __ / /_/ / / / / / / __/ / ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_
/_/ /_/\____/_/ /_/ /_/\___/ /_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/
EOF
}
header_info
echo -e "Loading..."
APP="Home Assistant" APP="Home Assistant"
var_tags="automation;smarthome" var_disk="16"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="16"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/lib/docker/volumes/hass_config/_data ]]; then if [[ ! -d /var/lib/docker/volumes/hass_config/_data ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
@@ -38,7 +63,7 @@ function update_script() {
"3" "Install HACS" OFF \ "3" "Install HACS" OFF \
"4" "Install FileBrowser" OFF \ "4" "Install FileBrowser" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
header_info
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
msg_info "Updating All Containers" msg_info "Updating All Containers"
CONTAINER_LIST="${1:-$(docker ps -q)}" CONTAINER_LIST="${1:-$(docker ps -q)}"
@@ -77,10 +102,10 @@ function update_script() {
IP=$(hostname -I | awk '{print $1}') IP=$(hostname -I | awk '{print $1}')
msg_info "Installing FileBrowser" msg_info "Installing FileBrowser"
RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g') RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g')
curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/v2.23.0/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/v2.23.0/linux-arm64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null
filebrowser config init -a '0.0.0.0' &>/dev/null filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null filebrowser users add admin changeme --perm.admin &>/dev/null
msg_ok "Installed FileBrowser" msg_ok "Installed FileBrowser"
msg_info "Creating Service" msg_info "Creating Service"
@@ -100,7 +125,7 @@ WantedBy=default.target" >$service_path
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "FileBrowser should be reachable by going to the following URL. echo -e "FileBrowser should be reachable by going to the following URL.
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" ${BL}http://$IP:8080${CL} admin|changeme\n"
exit exit
fi fi
} }
@@ -110,7 +135,7 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8123${CL}
echo -e "${TAB}${GATEWAY}${BGN}HA: http://${IP}:8123${CL}" Portainer should be reachable by going to the following URL.
echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}" ${BL}https://${IP}:9443${CL}\n"
-69
View File
@@ -1,69 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 tteck
# Author: tteck | Co-Author: MickLesk (Canbiz)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://homebox.software/en/
# App Default Values
APP="HomeBox"
var_tags="inventory;household"
var_cpu="1"
var_ram="1024"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/homebox ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop homebox
msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt
rm -rf homebox_bak
rm -rf /tmp/homebox.tar.gz
mv homebox homebox_bak
wget -qO /tmp/homebox.tar.gz https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz
tar -xzf /tmp/homebox.tar.gz -C /opt
chmod +x /opt/homebox
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Homebox"
msg_info "Starting ${APP}"
systemctl start homebox
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
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 "${TAB}${GATEWAY}${BGN}http://${IP}:7745${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://homebridge.io/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ ______ __ _____________ ____ ________ ____________
/ / / / __ \/ |/ / ____/ __ )/ __ \/ _/ __ \/ ____/ ____/
/ /_/ / / / / /|_/ / __/ / __ / /_/ // // / / / / __/ __/
/ __ / /_/ / / / / /___/ /_/ / _, _// // /_/ / /_/ / /___
/_/ /_/\____/_/ /_/_____/_____/_/ |_/___/_____/\____/_____/
EOF
}
header_info
echo -e "Loading..."
APP="Homebridge" APP="Homebridge"
var_tags="smarthome;homekit" var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get install -y homebridge &>/dev/null apt-get install -y homebridge &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8581${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8581${CL}"
+49 -29
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://gethomepage.dev/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __
/ / / /___ ____ ___ ___ ____ ____ _____ ____
/ /_/ / __ \/ __ `__ \/ _ \/ __ \/ __ `/ __ `/ _ \
/ __ / /_/ / / / / / / __/ /_/ / /_/ / /_/ / __/
/_/ /_/\____/_/ /_/ /_/\___/ .___/\__,_/\__, /\___/
/_/ /____/
EOF
}
header_info
echo -e "Loading..."
APP="Homepage" APP="Homepage"
var_tags="dashboard" var_disk="3"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_disk="3"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/homepage ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..." echo "Installing NPM..."
@@ -50,16 +73,14 @@ function update_script() {
cp -r homepage-${RELEASE}/* /opt/homepage/ cp -r homepage-${RELEASE}/* /opt/homepage/
rm -rf homepage-${RELEASE} rm -rf homepage-${RELEASE}
cd /opt/homepage cd /opt/homepage
npx --yes update-browserslist-db@latest >/dev/null 2>&1 npx update-browserslist-db@latest
pnpm install >/dev/null 2>&1 pnpm install
export NEXT_PUBLIC_VERSION="v$RELEASE" pnpm build
export NEXT_PUBLIC_REVISION="source"
pnpm build >/dev/null 2>&1
systemctl start homepage systemctl start homepage
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Homepage to v${RELEASE}" msg_ok "Updated Homepage to v${RELEASE}"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }
@@ -69,6 +90,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} Setup should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:3000${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://github.com/bastienwirtz/homer # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __
/ / / /___ ____ ___ ___ _____
/ /_/ / __ \/ __ `__ \/ _ \/ ___/
/ __ / /_/ / / / / / / __/ /
/_/ /_/\____/_/ /_/ /_/\___/_/
EOF
}
header_info
echo -e "Loading..."
APP="Homer" APP="Homer"
var_tags="dashboard" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/homer ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/homer ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop homer systemctl stop homer
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -70,6 +93,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8010${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8010${CL}"
+46 -23
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.hyperhdr.eu/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __ __ ______ ____
/ / / /_ ______ ___ _____/ / / / __ \/ __ \
/ /_/ / / / / __ \/ _ \/ ___/ /_/ / / / / /_/ /
/ __ / /_/ / /_/ / __/ / / __ / /_/ / _, _/
/_/ /_/\__, / .___/\___/_/ /_/ /_/_____/_/ |_|
/____/_/
EOF
}
header_info
echo -e "Loading..."
APP="HyperHDR" APP="HyperHDR"
var_tags="ambient-lightning" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +68,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8090${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
+46 -23
View File
@@ -1,37 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://hyperion-project.org/forum/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
__ __ _
/ / / /_ ______ ___ _____(_)___ ____
/ /_/ / / / / __ \/ _ \/ ___/ / __ \/ __ \
/ __ / /_/ / /_/ / __/ / / / /_/ / / / /
/_/ /_/\__, / .___/\___/_/ /_/\____/_/ /_/
/____/_/
EOF
}
header_info
echo -e "Loading..."
APP="Hyperion" APP="Hyperion"
var_tags="ambient-lightning" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_disk="2"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get install -y hyperion &>/dev/null apt-get install -y hyperion &>/dev/null
@@ -44,6 +68,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8090${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
+43 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.influxdata.com/ # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
____ ______ ____ ____
/ _/___ / __/ /_ ___ __/ __ \/ __ )
/ // __ \/ /_/ / / / / |/_/ / / / __ |
_/ // / / / __/ / /_/ /> </ /_/ / /_/ /
/___/_/ /_/_/ /_/\__,_/_/|_/_____/_____/
EOF
}
header_info
echo -e "Loading..."
APP="InfluxDB" APP="InfluxDB"
var_tags="database" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" 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 "${TAB}${GATEWAY}${BGN}http://${IP}:8086${CL}"
-69
View File
@@ -1,69 +0,0 @@
#!/usr/bin/env bash
source ./misc/build.func
# Copyright (c) 2021-2025 community-scripts ORG
# Author: kristocopani
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://www.inspircd.org/
# App Default Values
APP="InspIRCd"
var_tags="IRC"
var_cpu="1"
var_ram="512"
var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /lib/systemd/system/inspircd.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop inspircd
msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
wget -q https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb
apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/nul
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Service"
systemctl start inspircd
msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u1_amd64.deb
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
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} Server-Acces it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}${IP}:6667${CL}"
+45 -23
View File
@@ -1,37 +1,60 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.iobroker.net/#en/intro # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ ____ __
(_)___ / __ )_________ / /_____ _____
/ / __ \/ __ / ___/ __ \/ //_/ _ \/ ___/
/ / /_/ / /_/ / / / /_/ / ,< / __/ /
/_/\____/_____/_/ \____/_/|_|\___/_/
EOF
}
header_info
echo -e "Loading..."
APP="ioBroker" APP="ioBroker"
var_tags="automtation" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="8"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info header_info
check_container_storage if [[ ! -d /opt/iobroker ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_resources
if [[ ! -d /opt/iobroker ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
@@ -44,6 +67,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:8081${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081${CL}"
+44 -23
View File
@@ -1,37 +1,59 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ./misc/build.func source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE # License: MIT
# Source: https://www.iventoy.com/en/index.html # https://github.com/tteck/Proxmox/raw/main/LICENSE
# App Default Values function header_info {
clear
cat <<"EOF"
_ _ __ __
(_) | / /__ ____ / /_____ __ __
/ /| | / / _ \/ __ \/ __/ __ \/ / / /
/ / | |/ / __/ / / / /_/ /_/ / /_/ /
/_/ |___/\___/_/ /_/\__/\____/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="iVentoy" APP="iVentoy"
var_tags="pxe-tool"
var_disk="2" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="0"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors
function default_settings() {
CT_TYPE="0"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() { function update_script() {
header_info if [[ ! -d /opt/iventoy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
check_container_storage
check_container_resources
if [[ ! -d /opt/iventoy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is currently no update path available." msg_error "There is currently no update path available."
exit exit
} }
@@ -41,6 +63,5 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${APP} should be reachable by going to the following URL.
echo -e "${INFO}${YW} Access it using the following URL:${CL}" ${BL}http://${IP}:26000/ ${CL} \n"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:26000${CL}"

Some files were not shown because too many files have changed in this diff Show More