mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-06 03:12:50 +00:00
Compare commits
48 Commits
2025-05-07
...
2025-05-11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c586dfe87f | ||
|
|
7f65be34ff | ||
|
|
c158dbb3ea | ||
|
|
95acf8c018 | ||
|
|
6c5aa6677a | ||
|
|
43ff379ed4 | ||
|
|
2c2849179a | ||
|
|
d116505ff2 | ||
|
|
42535e14ab | ||
|
|
990ce16a7d | ||
|
|
af1cf0bc71 | ||
|
|
e166115745 | ||
|
|
bdef92cc71 | ||
|
|
1e59c934ec | ||
|
|
456b00882d | ||
|
|
9b8a30c84f | ||
|
|
3b90e3fe15 | ||
|
|
5e3a5bb24c | ||
|
|
7413a03009 | ||
|
|
bb1c9d73c4 | ||
|
|
3b5a901832 | ||
|
|
a62a4876ec | ||
|
|
9d21ceacc3 | ||
|
|
c604aeb064 | ||
|
|
9b9ed2f6e1 | ||
|
|
1ddc74d2b5 | ||
|
|
ee9f6dd818 | ||
|
|
a1754dff4e | ||
|
|
4827a17ba3 | ||
|
|
b5ed7b9f4e | ||
|
|
ab9760194d | ||
|
|
abb5b6d5ac | ||
|
|
4656fe21f9 | ||
|
|
93e503eb87 | ||
|
|
6ab80dc5e3 | ||
|
|
ceaff9006a | ||
|
|
c749fe6fb0 | ||
|
|
402586756f | ||
|
|
19800da808 | ||
|
|
d62da0c982 | ||
|
|
41df1d5a76 | ||
|
|
bcdf8f15e7 | ||
|
|
326cbc3bec | ||
|
|
607d966322 | ||
|
|
69298090ce | ||
|
|
9c7d50fdff | ||
|
|
fabbe8fe59 | ||
|
|
6abb55ba86 |
@@ -10,6 +10,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-app-files:
|
update-app-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@@ -90,14 +91,15 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Approve pull request and merge
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }}
|
||||||
run: |
|
run: |
|
||||||
PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number')
|
PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number')
|
||||||
if [ -n "$PR_NUMBER" ]; then
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Step 8: Output success message when no changes
|
# Step 8: Output success message when no changes
|
||||||
|
|||||||
1
.github/workflows/autolabeler.yml
vendored
1
.github/workflows/autolabeler.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
autolabeler:
|
autolabeler:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|||||||
12
.github/workflows/changelog-pr.yml
vendored
12
.github/workflows/changelog-pr.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-changelog-pull-request:
|
update-changelog-pull-request:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
env:
|
env:
|
||||||
CONFIG_PATH: .github/changelog-pr-config.json
|
CONFIG_PATH: .github/changelog-pr-config.json
|
||||||
@@ -263,6 +264,17 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Approve pull request and merge
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }}
|
||||||
|
run: |
|
||||||
|
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Re-approve pull request after update
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
|
|||||||
1
.github/workflows/close-discussion.yml
vendored
1
.github/workflows/close-discussion.yml
vendored
@@ -11,6 +11,7 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close-discussion:
|
close-discussion:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
1
.github/workflows/close-ttek-issues.yaml
vendored
1
.github/workflows/close-ttek-issues.yaml
vendored
@@ -5,6 +5,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close_tteck_issues:
|
close_tteck_issues:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Auto-close if tteck script detected
|
- name: Auto-close if tteck script detected
|
||||||
|
|||||||
2
.github/workflows/close_issue_in_dev.yaml
vendored
2
.github/workflows/close_issue_in_dev.yaml
vendored
@@ -5,7 +5,7 @@ on:
|
|||||||
- closed
|
- closed
|
||||||
jobs:
|
jobs:
|
||||||
close_issue:
|
close_issue:
|
||||||
if: github.event.pull_request.merged == true
|
if: github.event.pull_request.merged == true && github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
12
.github/workflows/crawl-versions.yaml
vendored
12
.github/workflows/crawl-versions.yaml
vendored
@@ -12,6 +12,7 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
crawl-versions:
|
crawl-versions:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -103,6 +104,17 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Approve pull request and merge
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }}
|
||||||
|
run: |
|
||||||
|
PR_NUMBER=$(gh pr list --head "update_versions" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Re-approve pull request after update
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest #To ensure it always builds we use the github runner with all the right tooling
|
runs-on: ubuntu-latest #To ensure it always builds we use the github runner with all the right tooling
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
1
.github/workflows/delete-json-branch.yml
vendored
1
.github/workflows/delete-json-branch.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
delete_branch:
|
delete_branch:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
|
|||||||
3
.github/workflows/frontend-cicd.yml
vendored
3
.github/workflows/frontend-cicd.yml
vendored
@@ -25,6 +25,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@@ -63,7 +64,7 @@ jobs:
|
|||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build
|
needs: build
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main' && github.repository == 'community-scripts/ProxmoxVE'
|
||||||
permissions:
|
permissions:
|
||||||
pages: write
|
pages: write
|
||||||
id-token: write
|
id-token: write
|
||||||
|
|||||||
1
.github/workflows/github-release.yml
vendored
1
.github/workflows/github-release.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-daily-release:
|
create-daily-release:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|||||||
1
.github/workflows/script-test.yml
vendored
1
.github/workflows/script-test.yml
vendored
@@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-install-script:
|
run-install-script:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: pvenode
|
runs-on: pvenode
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PR branch
|
- name: Checkout PR branch
|
||||||
|
|||||||
1
.github/workflows/script_format.yml
vendored
1
.github/workflows/script_format.yml
vendored
@@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-install-script:
|
run-install-script:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: pvenode
|
runs-on: pvenode
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PR branch (supports forks)
|
- name: Checkout PR branch (supports forks)
|
||||||
|
|||||||
11
.github/workflows/update-json-date.yml
vendored
11
.github/workflows/update-json-date.yml
vendored
@@ -10,6 +10,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-app-files:
|
update-app-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@@ -125,6 +126,16 @@ jobs:
|
|||||||
if [ -n "$PR_NUMBER" ]; then
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
- name: Approve pull request and merge
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }}
|
||||||
|
run: |
|
||||||
|
PR_NUMBER=$(gh pr list --head "${{ env.BRANCH_NAME }}" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
|
||||||
- name: No changes detected
|
- name: No changes detected
|
||||||
if: env.changed == 'false'
|
if: env.changed == 'false'
|
||||||
|
|||||||
1
.github/workflows/validate-filenames.yml
vendored
1
.github/workflows/validate-filenames.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-files:
|
check-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
name: Check changed files
|
name: Check changed files
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
72
CHANGELOG.md
72
CHANGELOG.md
@@ -14,6 +14,68 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-05-12
|
||||||
|
|
||||||
|
## 2025-05-11
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Zammad: Enable ElasticSearch service [@tremor021](https://github.com/tremor021) ([#4391](https://github.com/community-scripts/ProxmoxVE/pull/4391))
|
||||||
|
|
||||||
|
## 2025-05-10
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- (fix) Documenso: fix build failures [@vhsdream](https://github.com/vhsdream) ([#4382](https://github.com/community-scripts/ProxmoxVE/pull/4382))
|
||||||
|
- Jellyseerr: better handling of node and pnpm [@MickLesk](https://github.com/MickLesk) ([#4365](https://github.com/community-scripts/ProxmoxVE/pull/4365))
|
||||||
|
|
||||||
|
## 2025-05-09
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Authentik: change install to UV & increase resources to 10GB RAM [@MickLesk](https://github.com/MickLesk) ([#4364](https://github.com/community-scripts/ProxmoxVE/pull/4364))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- HomeAssistant-Core: update script for 2025.5+ [@MickLesk](https://github.com/MickLesk) ([#4363](https://github.com/community-scripts/ProxmoxVE/pull/4363))
|
||||||
|
- Feature: autologin for Alpine [@MickLesk](https://github.com/MickLesk) ([#4344](https://github.com/community-scripts/ProxmoxVE/pull/4344))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- fix: detect all bridge types, not just vmbr prefix [@filippolauria](https://github.com/filippolauria) ([#4351](https://github.com/community-scripts/ProxmoxVE/pull/4351))
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- Add a Repo check to all Workflows [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4339](https://github.com/community-scripts/ProxmoxVE/pull/4339))
|
||||||
|
- Auto-Merge Automatic PR [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4343](https://github.com/community-scripts/ProxmoxVE/pull/4343))
|
||||||
|
|
||||||
|
## 2025-05-08
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SearXNG: fix to resolve yaml dependency error [@Biendeo](https://github.com/Biendeo) ([#4322](https://github.com/community-scripts/ProxmoxVE/pull/4322))
|
||||||
|
- Bugfix: Mikrotik & Pimox HAOS VM (NEXTID) [@MickLesk](https://github.com/MickLesk) ([#4313](https://github.com/community-scripts/ProxmoxVE/pull/4313))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- build.func Change the menu for Bridge Selection [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4326](https://github.com/community-scripts/ProxmoxVE/pull/4326))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- FAQ: Explanation "updatable" [@tremor021](https://github.com/tremor021) ([#4300](https://github.com/community-scripts/ProxmoxVE/pull/4300))
|
||||||
|
|
||||||
## 2025-05-07
|
## 2025-05-07
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
@@ -24,6 +86,16 @@ All LXC instances created using this repository come pre-installed with Midnight
|
|||||||
|
|
||||||
- SuwayomiServer: Bump Java to v21, code formating [@tremor021](https://github.com/tremor021) ([#3987](https://github.com/community-scripts/ProxmoxVE/pull/3987))
|
- SuwayomiServer: Bump Java to v21, code formating [@tremor021](https://github.com/tremor021) ([#3987](https://github.com/community-scripts/ProxmoxVE/pull/3987))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Feature: get correct next VMID [@MickLesk](https://github.com/MickLesk) ([#4292](https://github.com/community-scripts/ProxmoxVE/pull/4292))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- OpenWebUI: Update docs link [@tremor021](https://github.com/tremor021) ([#4298](https://github.com/community-scripts/ProxmoxVE/pull/4298))
|
||||||
|
|
||||||
## 2025-05-06
|
## 2025-05-06
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ APP="Authentik"
|
|||||||
var_tags="${var_tags:-identity-provider}"
|
var_tags="${var_tags:-identity-provider}"
|
||||||
var_disk="${var_disk:-12}"
|
var_disk="${var_disk:-12}"
|
||||||
var_cpu="${var_cpu:-6}"
|
var_cpu="${var_cpu:-6}"
|
||||||
var_ram="${var_ram:-8192}"
|
var_ram="${var_ram:-10240}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@@ -29,6 +29,13 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
|
RELEASE=$(curl -fsSL 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
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
|
NODE_VERSION="22"
|
||||||
|
PG_VERSION="16"
|
||||||
|
setup_uv
|
||||||
|
install_postgresql
|
||||||
|
install_node_and_modules
|
||||||
|
install_go
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop authentik-server
|
systemctl stop authentik-server
|
||||||
systemctl stop authentik-worker
|
systemctl stop authentik-worker
|
||||||
@@ -54,17 +61,14 @@ function update_script() {
|
|||||||
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
||||||
msg_ok "Built ${APP} server"
|
msg_ok "Built ${APP} server"
|
||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
msg_info "Building Authentik"
|
||||||
cd /opt/authentik
|
cd /opt/authentik
|
||||||
$STD poetry install --only=main --no-ansi --no-interaction --no-root
|
$STD uv sync --frozen --no-install-project --no-dev
|
||||||
$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
|
uv run python -m lifecycle.migrate
|
||||||
$STD pip install --no-cache-dir -r requirements.txt
|
ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn
|
||||||
$STD pip install .
|
ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Authentik built"
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE} (Patience)"
|
|
||||||
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
|
|
||||||
$STD bash /opt/authentik/lifecycle/ak migrate
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
|
|||||||
@@ -42,9 +42,14 @@ function update_script() {
|
|||||||
mv documenso-${RELEASE} /opt/documenso
|
mv documenso-${RELEASE} /opt/documenso
|
||||||
cd /opt/documenso
|
cd /opt/documenso
|
||||||
mv /opt/.env /opt/documenso/.env
|
mv /opt/.env /opt/documenso/.env
|
||||||
$STD npm install
|
export TURBO_CACHE=1
|
||||||
$STD npm run build:web
|
export NEXT_TELEMETRY_DISABLED=1
|
||||||
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
|
$STD npm ci
|
||||||
|
$STD turbo run build --filter=@documenso/remix
|
||||||
$STD npm run prisma:migrate-deploy
|
$STD npm run prisma:migrate-deploy
|
||||||
|
$STD turbo daemon stop
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
|
|
||||||
# OS Check
|
|
||||||
if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
|
if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
|
||||||
msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
|
msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
|
||||||
msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
|
msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
|
||||||
@@ -32,54 +30,88 @@ function update_script() {
|
|||||||
check_container_resources
|
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 1
|
||||||
fi
|
fi
|
||||||
PY=$(ls /srv/homeassistant/lib/)
|
setup_uv
|
||||||
IP=$(hostname -I | awk '{print $1}')
|
IP=$(hostname -I | awk '{print $1}')
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
||||||
"1" "Update Core" ON \
|
"1" "Update Core" ON \
|
||||||
"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)
|
||||||
|
|
||||||
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
|
||||||
header_info
|
header_info
|
||||||
echo -e "${GN}Updating to Beta Version${CL}"
|
echo -e "${GN}Updating to Beta Version${CL}"
|
||||||
BR="--pre "
|
BR="--pre"
|
||||||
else
|
else
|
||||||
clear
|
clear
|
||||||
header_info
|
header_info
|
||||||
echo -e "${GN}Updating to Stable Version${CL}"
|
echo -e "${GN}Updating to Stable Version${CL}"
|
||||||
BR=""
|
BR=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping Home Assistant"
|
msg_info "Stopping Home Assistant"
|
||||||
systemctl stop homeassistant
|
systemctl stop homeassistant
|
||||||
msg_ok "Stopped Home Assistant"
|
msg_ok "Stopped Home Assistant"
|
||||||
|
|
||||||
|
if [[ -d /srv/homeassistant/bin ]]; then
|
||||||
|
msg_info "Migrating to .venv-based structure"
|
||||||
|
$STD source /srv/homeassistant/bin/activate
|
||||||
|
PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
|
||||||
|
$STD deactivate
|
||||||
|
mv /srv/homeassistant "/srv/homeassistant_backup_$PY_VER"
|
||||||
|
mkdir -p /srv/homeassistant
|
||||||
|
cd /srv/homeassistant
|
||||||
|
|
||||||
|
$STD uv python install 3.13
|
||||||
|
UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}')
|
||||||
|
if [[ -z "$UV_PYTHON" ]]; then
|
||||||
|
msg_error "No local Python 3.13 found via uv"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
$STD uv venv .venv --python "$UV_PYTHON"
|
||||||
|
$STD source .venv/bin/activate
|
||||||
|
$STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel
|
||||||
|
mkdir -p /root/.homeassistant
|
||||||
|
msg_ok "Migration complete"
|
||||||
|
else
|
||||||
|
source /srv/homeassistant/.venv/bin/activate
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Updating Home Assistant"
|
msg_info "Updating Home Assistant"
|
||||||
source /srv/homeassistant/bin/activate
|
$STD uv pip install $BR --upgrade homeassistant
|
||||||
$STD pip install ${BR}--upgrade homeassistant
|
|
||||||
msg_ok "Updated Home Assistant"
|
msg_ok "Updated Home Assistant"
|
||||||
|
|
||||||
msg_info "Starting Home Assistant"
|
msg_info "Starting Home Assistant"
|
||||||
|
if [[ -f /etc/systemd/system/homeassistant.service ]] && grep -q "/srv/homeassistant/bin/python3" /etc/systemd/system/homeassistant.service; then
|
||||||
|
sed -i 's|ExecStart=/srv/homeassistant/bin/python3|ExecStart=/srv/homeassistant/.venv/bin/python3|' /etc/systemd/system/homeassistant.service
|
||||||
|
sed -i 's|PATH=/srv/homeassistant/bin|PATH=/srv/homeassistant/.venv/bin|' /etc/systemd/system/homeassistant.service
|
||||||
|
$STD systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
|
||||||
systemctl start homeassistant
|
systemctl start homeassistant
|
||||||
sleep 2
|
sleep 5
|
||||||
msg_ok "Started Home Assistant"
|
msg_ok "Started Home Assistant"
|
||||||
msg_ok "Update Successful"
|
msg_ok "Update Successful"
|
||||||
echo -e "\n Go to http://${IP}:8123 \n"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Installing Home Assistant Community Store (HACS)"
|
msg_info "Installing Home Assistant Community Store (HACS)"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install -y unzip
|
$STD apt install -y unzip
|
||||||
cd .homeassistant
|
cd /root/.homeassistant
|
||||||
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
||||||
msg_ok "Installed Home Assistant Community Store (HACS)"
|
msg_ok "Installed Home Assistant Community Store (HACS)"
|
||||||
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$UPD" == "3" ]; then
|
if [ "$UPD" == "3" ]; then
|
||||||
set +Eeuo pipefail
|
set +Eeuo pipefail
|
||||||
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
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ function update_script() {
|
|||||||
msg_info "Updating All Containers"
|
msg_info "Updating All Containers"
|
||||||
CONTAINER_LIST="${1:-$(docker ps -q)}"
|
CONTAINER_LIST="${1:-$(docker ps -q)}"
|
||||||
for container in ${CONTAINER_LIST}; do
|
for container in ${CONTAINER_LIST}; do
|
||||||
CONTAINER_IMAGE="$(docker inspect --format "{{.Config.Image}}" --type container ${container})"
|
CONTAINER_IMAGE="$(docker inspect --format "{{.Config.Image}}" --type container "${container}")"
|
||||||
RUNNING_IMAGE="$(docker inspect --format "{{.Image}}" --type container "${container}")"
|
RUNNING_IMAGE="$(docker inspect --format "{{.Image}}" --type container "${container}")"
|
||||||
docker pull "${CONTAINER_IMAGE}"
|
docker pull "${CONTAINER_IMAGE}"
|
||||||
LATEST_IMAGE="$(docker inspect --format "{{.Id}}" --type image "${CONTAINER_IMAGE}")"
|
LATEST_IMAGE="$(docker inspect --format "{{.Id}}" --type image "${CONTAINER_IMAGE}")"
|
||||||
@@ -47,7 +47,7 @@ function update_script() {
|
|||||||
echo "Updating ${container} image ${CONTAINER_IMAGE}"
|
echo "Updating ${container} image ${CONTAINER_IMAGE}"
|
||||||
DOCKER_COMMAND="$(runlike --use-volume-id "${container}")"
|
DOCKER_COMMAND="$(runlike --use-volume-id "${container}")"
|
||||||
docker rm --force "${container}"
|
docker rm --force "${container}"
|
||||||
eval ${DOCKER_COMMAND}
|
eval "${DOCKER_COMMAND}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
msg_ok "Updated All Containers"
|
msg_ok "Updated All Containers"
|
||||||
@@ -109,4 +109,4 @@ msg_ok "Completed Successfully!\n"
|
|||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}HA: http://${IP}:8123${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}HA: http://${IP}:8123${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}Portainer: https://${IP}:9443${CL}"
|
||||||
|
|||||||
@@ -53,10 +53,10 @@ function update_script() {
|
|||||||
|
|
||||||
if [ -z "$pnpm_current" ]; then
|
if [ -z "$pnpm_current" ]; then
|
||||||
msg_error "pnpm not found. Installing version $pnpm_desired..."
|
msg_error "pnpm not found. Installing version $pnpm_desired..."
|
||||||
$STD npm install -g pnpm@"$pnpm_desired"
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
||||||
elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then
|
elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then
|
||||||
msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..."
|
msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..."
|
||||||
$STD npm install -g pnpm@"$pnpm_desired"
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
||||||
else
|
else
|
||||||
msg_ok "pnpm is already installed and satisfies version $pnpm_desired."
|
msg_ok "pnpm is already installed and satisfies version $pnpm_desired."
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="Open WebUI"
|
APP="Open WebUI"
|
||||||
var_tags="${var_tags:-ai;interface}"
|
var_tags="${var_tags:-ai;interface}"
|
||||||
var_cpu="${var_cpu:-4}"
|
var_cpu="${var_cpu:-4}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-16}"
|
var_disk="${var_disk:-25}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|||||||
@@ -24,32 +24,34 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -f /opt/streamlink-webui ]]; then
|
if [[ ! -d /opt/streamlink-webui ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/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
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
|
msg_info "Starting Update"
|
||||||
|
|
||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
systemctl stop ${APP}
|
systemctl stop ${APP}
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
rm -rf /opt/${APP}
|
rm -rf /opt/${APP}
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22"
|
||||||
NODE_MODULE="npm@latest,yarn@latest"
|
NODE_MODULE="npm,yarn"
|
||||||
install_node_and_modules
|
install_node_and_modules
|
||||||
setup_uv
|
setup_uv
|
||||||
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui"
|
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui"
|
||||||
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
$STD uv venv /opt/"${APPLICATION}"/backend/src/.venv
|
$STD uv venv /opt/"${APP}"/backend/src/.venv
|
||||||
source /opt/"${APPLICATION}"/backend/src/.venv/bin/activate
|
source /opt/"${APP}"/backend/src/.venv/bin/activate
|
||||||
$STD uv pip install -r /opt/streamlink-webui/backend/src/requirements.txt --python=/opt/"${APPLICATION}"/backend/src/.venv
|
$STD uv pip install -r /opt/"${APP}"/backend/src/requirements.txt --python=/opt/"${APP}"/backend/src/.venv
|
||||||
cd /opt/"${APPLICATION}"/frontend/src
|
cd /opt/"${APP}"/frontend/src
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
$STD yarn build
|
$STD yarn build
|
||||||
chmod +x /opt/"${APPLICATION}"/start.sh
|
chmod +x /opt/"${APP}"/start.sh
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting $APP"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"script": "ct/authentik.sh",
|
"script": "ct/authentik.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 6,
|
"cpu": 6,
|
||||||
"ram": 8192,
|
"ram": 10240,
|
||||||
"hdd": 12,
|
"hdd": 12,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
@@ -33,7 +33,11 @@
|
|||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
"text": "Authentik is very resource-heavy, it is recommended to use at least 8GB RAM anytime!",
|
"text": "Authentik is very resource-heavy, it is recommended to use at least 10GB RAM anytime!",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Some updates don't work due to massive dependency errors, it's recommended to do a backup before updating or a pg_dump and a new LXC.",
|
||||||
"type": "warning"
|
"type": "warning"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Documenso",
|
|
||||||
"slug": "documenso",
|
|
||||||
"categories": [
|
|
||||||
12
|
|
||||||
],
|
|
||||||
"date_created": "2025-04-28",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 3000,
|
|
||||||
"documentation": "https://documenso.com/",
|
|
||||||
"website": "https://documenso.com/",
|
|
||||||
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/documenso.svg",
|
|
||||||
"config_path": "/opt/documenso/.env",
|
|
||||||
"description": "Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/documenso.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 4,
|
|
||||||
"ram": 6144,
|
|
||||||
"hdd": 10,
|
|
||||||
"os": "Debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": "helper-scripts@local.com",
|
|
||||||
"password": "helper-scripts"
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
"script": "ct/openwebui.sh",
|
"script": "ct/openwebui.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 4,
|
"cpu": 4,
|
||||||
"ram": 4096,
|
"ram": 8192,
|
||||||
"hdd": 16,
|
"hdd": 25,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Suwayomi-Server",
|
|
||||||
"slug": "suwayomi-server",
|
|
||||||
"categories": [
|
|
||||||
13
|
|
||||||
],
|
|
||||||
"date_created": "2025-02-07",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 4567,
|
|
||||||
"documentation": "https://github.com/Suwayomi/Suwayomi-Server/wiki",
|
|
||||||
"website": "https://github.com/Suwayomi/Suwayomi-Server",
|
|
||||||
"logo": "https://github.com/Suwayomi/Suwayomi-Server/raw/master/server/src/main/resources/icon/faviconlogo.png",
|
|
||||||
"config_path": "",
|
|
||||||
"description": "A free and open source manga reader server that runs extensions built for Mihon (Tachiyomi).",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/suwayomiserver.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 1024,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "This application is conflicting with Kaspersky products. You need to disable Kaspersky in order to use this application.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,24 +1,264 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.4.2",
|
||||||
|
"date": "2025-05-11T22:18:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "morpheus65535/bazarr",
|
||||||
|
"version": "v1.5.2",
|
||||||
|
"date": "2025-05-11T16:40:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "outline/outline",
|
||||||
|
"version": "v0.84.0",
|
||||||
|
"date": "2025-05-11T15:50:48Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Kozea/Radicale",
|
||||||
|
"version": "v3.5.3",
|
||||||
|
"date": "2025-05-11T15:17:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.2.12",
|
||||||
|
"date": "2025-04-20T19:22:17Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Prowlarr/Prowlarr",
|
||||||
|
"version": "v1.35.1.5034",
|
||||||
|
"date": "2025-04-30T11:02:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross-seed/cross-seed",
|
||||||
|
"version": "v6.12.4",
|
||||||
|
"date": "2025-05-11T11:41:32Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "authelia/authelia",
|
||||||
|
"version": "v4.39.3",
|
||||||
|
"date": "2025-05-11T11:12:15Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "theonedev/onedev",
|
||||||
|
"version": "v11.9.5",
|
||||||
|
"date": "2025-05-11T10:50:37Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Radarr/Radarr",
|
||||||
|
"version": "v5.22.4.9896",
|
||||||
|
"date": "2025-04-23T18:51:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocketbase/pocketbase",
|
||||||
|
"version": "v0.28.0",
|
||||||
|
"date": "2025-05-11T06:25:22Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.22.1888",
|
||||||
|
"date": "2025-05-11T06:00:48Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "owncast/owncast",
|
||||||
|
"version": "v0.2.3",
|
||||||
|
"date": "2025-05-10T21:14:45Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "runtipi/runtipi",
|
||||||
|
"version": "e2e",
|
||||||
|
"date": "2025-05-10T20:46:31Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "open-webui/open-webui",
|
||||||
|
"version": "v0.6.9",
|
||||||
|
"date": "2025-05-10T19:05:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.6.9-rc0",
|
||||||
|
"date": "2025-05-10T18:57:30Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Stirling-Tools/Stirling-PDF",
|
||||||
|
"version": "v0.46.1",
|
||||||
|
"date": "2025-05-10T15:39:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "juanfont/headscale",
|
||||||
|
"version": "v0.25.1",
|
||||||
|
"date": "2025-02-25T17:30:48Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||||
|
"version": "v1.22.2-victorialogs",
|
||||||
|
"date": "2025-05-10T01:20:19Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pelican-dev/wings",
|
||||||
|
"version": "v1.0.0-beta13",
|
||||||
|
"date": "2025-05-09T23:14:41Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pelican-dev/panel",
|
||||||
|
"version": "v1.0.0-beta21",
|
||||||
|
"date": "2025-05-09T23:14:23Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "homarr-labs/homarr",
|
||||||
|
"version": "v1.19.1",
|
||||||
|
"date": "2025-05-09T19:15:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MediaBrowser/Emby.Releases",
|
||||||
|
"version": "4.8.11.0",
|
||||||
|
"date": "2025-03-10T06:39:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.5.1",
|
||||||
|
"date": "2025-05-09T15:05:54Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.2.4",
|
||||||
|
"date": "2025-05-08T09:10:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v9.11.15",
|
||||||
|
"date": "2025-05-09T13:48:50Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "crowdsecurity/crowdsec",
|
||||||
|
"version": "v1.6.8",
|
||||||
|
"date": "2025-03-25T13:33:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zitadel/zitadel",
|
||||||
|
"version": "v3.0.4",
|
||||||
|
"date": "2025-05-09T11:38:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "coder/code-server",
|
||||||
|
"version": "v4.99.4",
|
||||||
|
"date": "2025-05-02T18:33:09Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-id/pocket-id",
|
||||||
|
"version": "v0.53.0",
|
||||||
|
"date": "2025-05-08T19:56:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ellite/Wallos",
|
||||||
|
"version": "v3.1.0",
|
||||||
|
"date": "2025-05-08T15:33:17Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BookStackApp/BookStack",
|
||||||
|
"version": "v25.02.4",
|
||||||
|
"date": "2025-05-08T15:03:17Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "v4.12.0",
|
||||||
|
"date": "2025-05-08T13:27:46Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/tomcat",
|
||||||
|
"version": "10.1.41",
|
||||||
|
"date": "2025-05-08T12:45:44Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.91.3",
|
||||||
|
"date": "2025-05-08T12:25:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zwave-js/zwave-js-ui",
|
||||||
|
"version": "v10.4.2",
|
||||||
|
"date": "2025-05-08T08:11:27Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "umami-software/umami",
|
||||||
|
"version": "v2.18.0",
|
||||||
|
"date": "2025-05-08T07:14:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.14.10",
|
||||||
|
"date": "2025-05-07T20:23:29Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "readeck/readeck",
|
||||||
|
"version": "0.18.2",
|
||||||
|
"date": "2025-05-07T19:22:22Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "HabitRPG/habitica",
|
||||||
|
"version": "v5.36.3",
|
||||||
|
"date": "2025-05-07T17:22:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ipfs/kubo",
|
||||||
|
"version": "v0.34.1",
|
||||||
|
"date": "2025-03-25T18:11:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NodeBB/NodeBB",
|
||||||
|
"version": "v4.3.1",
|
||||||
|
"date": "2025-05-07T15:38:20Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "donaldzou/WGDashboard",
|
||||||
|
"version": "v4.2.3",
|
||||||
|
"date": "2025-05-07T15:35:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stonith404/pingvin-share",
|
||||||
|
"version": "v1.12.0",
|
||||||
|
"date": "2025-05-07T14:12:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Brandawg93/PeaNUT",
|
||||||
|
"version": "v5.7.5",
|
||||||
|
"date": "2025-05-07T14:01:45Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Graylog2/graylog2-server",
|
||||||
|
"version": "6.3.0-alpha.3",
|
||||||
|
"date": "2025-05-07T13:58:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "glpi-project/glpi",
|
||||||
|
"version": "10.0.18",
|
||||||
|
"date": "2025-02-12T11:07:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "nzbgetcom/nzbget",
|
||||||
|
"version": "v24.8",
|
||||||
|
"date": "2025-03-18T07:33:51Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ZoeyVid/NPMplus",
|
||||||
|
"version": "2025-05-07-r1",
|
||||||
|
"date": "2025-05-07T12:18:42Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "docker/compose",
|
"name": "docker/compose",
|
||||||
"version": "v2.36.0",
|
"version": "v2.36.0",
|
||||||
"date": "2025-05-07T11:54:14Z"
|
"date": "2025-05-07T11:54:14Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Graylog2/graylog2-server",
|
"name": "Checkmk/checkmk",
|
||||||
"version": "6.2.2",
|
"version": "v2.2.0p42-rc1",
|
||||||
"date": "2025-05-07T11:36:20Z"
|
"date": "2025-05-07T11:50:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openobserve/openobserve",
|
"name": "openobserve/openobserve",
|
||||||
"version": "v0.14.7",
|
"version": "v0.14.7",
|
||||||
"date": "2025-05-07T11:32:23Z"
|
"date": "2025-05-07T11:32:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "home-assistant/core",
|
|
||||||
"version": "2025.4.4",
|
|
||||||
"date": "2025-04-25T07:47:57Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "grokability/snipe-it",
|
"name": "grokability/snipe-it",
|
||||||
"version": "v8.1.3",
|
"version": "v8.1.3",
|
||||||
@@ -34,51 +274,16 @@
|
|||||||
"version": "7.4.0beta2",
|
"version": "7.4.0beta2",
|
||||||
"date": "2025-05-07T10:39:21Z"
|
"date": "2025-05-07T10:39:21Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zwave-js/zwave-js-ui",
|
|
||||||
"version": "v10.4.1",
|
|
||||||
"date": "2025-05-07T09:22:38Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jupyter/notebook",
|
"name": "jupyter/notebook",
|
||||||
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.0",
|
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.0",
|
||||||
"date": "2025-05-07T09:12:08Z"
|
"date": "2025-05-07T09:12:08Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.22.1874",
|
|
||||||
"date": "2025-05-07T05:56:30Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cross-seed/cross-seed",
|
|
||||||
"version": "v6.12.2",
|
|
||||||
"date": "2025-04-28T17:44:49Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "open-webui/open-webui",
|
|
||||||
"version": "v0.6.7",
|
|
||||||
"date": "2025-05-06T23:08:38Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "influxdata/influxdb",
|
"name": "influxdata/influxdb",
|
||||||
"version": "v1.12.1rc0",
|
"version": "v1.12.1rc0",
|
||||||
"date": "2025-05-06T20:56:30Z"
|
"date": "2025-05-06T20:56:30Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.2.3",
|
|
||||||
"date": "2025-05-05T11:12:36Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pocket-id/pocket-id",
|
|
||||||
"version": "v0.52.0",
|
|
||||||
"date": "2025-05-06T20:14:44Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "runtipi/runtipi",
|
|
||||||
"version": "v4.0.2",
|
|
||||||
"date": "2025-05-01T16:10:58Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "redis/redis",
|
"name": "redis/redis",
|
||||||
"version": "8.0.1-int",
|
"version": "8.0.1-int",
|
||||||
@@ -94,16 +299,6 @@
|
|||||||
"version": "v0.19.0",
|
"version": "v0.19.0",
|
||||||
"date": "2025-05-06T18:05:42Z"
|
"date": "2025-05-06T18:05:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "HabitRPG/habitica",
|
|
||||||
"version": "v5.36.2",
|
|
||||||
"date": "2025-05-06T17:32:30Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "coverity-w19-4.13.0",
|
|
||||||
"date": "2025-05-06T15:59:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jenkinsci/jenkins",
|
"name": "jenkinsci/jenkins",
|
||||||
"version": "jenkins-2.509",
|
"version": "jenkins-2.509",
|
||||||
@@ -124,26 +319,11 @@
|
|||||||
"version": "v0.107.61",
|
"version": "v0.107.61",
|
||||||
"date": "2025-04-22T12:42:26Z"
|
"date": "2025-04-22T12:42:26Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v2.65.8",
|
|
||||||
"date": "2025-05-06T13:57:49Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "element-hq/synapse",
|
"name": "element-hq/synapse",
|
||||||
"version": "v1.129.0",
|
"version": "v1.129.0",
|
||||||
"date": "2025-05-06T12:28:54Z"
|
"date": "2025-05-06T12:28:54Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "nzbgetcom/nzbget",
|
|
||||||
"version": "v24.8",
|
|
||||||
"date": "2025-03-18T07:33:51Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "n8n-io/n8n",
|
|
||||||
"version": "n8n@1.91.2",
|
|
||||||
"date": "2025-05-05T12:59:51Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Luligu/matterbridge",
|
"name": "Luligu/matterbridge",
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
@@ -154,21 +334,6 @@
|
|||||||
"version": "v1.29.6",
|
"version": "v1.29.6",
|
||||||
"date": "2025-05-06T07:57:02Z"
|
"date": "2025-05-06T07:57:02Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "v9.11.14",
|
|
||||||
"date": "2025-05-05T17:50:53Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Checkmk/checkmk",
|
|
||||||
"version": "v2.4.0",
|
|
||||||
"date": "2025-05-06T06:47:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "morpheus65535/bazarr",
|
|
||||||
"version": "v1.5.1",
|
|
||||||
"date": "2025-01-01T16:15:52Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "linkwarden/linkwarden",
|
"name": "linkwarden/linkwarden",
|
||||||
"version": "v2.10.2",
|
"version": "v2.10.2",
|
||||||
@@ -199,11 +364,6 @@
|
|||||||
"version": "v12.0.0",
|
"version": "v12.0.0",
|
||||||
"date": "2025-05-05T18:28:19Z"
|
"date": "2025-05-05T18:28:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "BookStackApp/BookStack",
|
|
||||||
"version": "v25.02.3",
|
|
||||||
"date": "2025-05-05T17:39:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "apache/couchdb",
|
"name": "apache/couchdb",
|
||||||
"version": "3.5.0",
|
"version": "3.5.0",
|
||||||
@@ -229,31 +389,11 @@
|
|||||||
"version": "v3.4.0",
|
"version": "v3.4.0",
|
||||||
"date": "2025-05-05T13:59:23Z"
|
"date": "2025-05-05T13:59:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "semaphoreui/semaphore",
|
|
||||||
"version": "v2.14.9",
|
|
||||||
"date": "2025-05-05T12:20:38Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "theonedev/onedev",
|
|
||||||
"version": "v11.9.3",
|
|
||||||
"date": "2025-05-05T10:22:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "evcc-io/evcc",
|
"name": "evcc-io/evcc",
|
||||||
"version": "0.203.5",
|
"version": "0.203.5",
|
||||||
"date": "2025-05-05T06:41:02Z"
|
"date": "2025-05-05T06:41:02Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "MediaBrowser/Emby.Releases",
|
|
||||||
"version": "4.8.11.0",
|
|
||||||
"date": "2025-03-10T06:39:11Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "firefly-iii/firefly-iii",
|
|
||||||
"version": "v6.2.12",
|
|
||||||
"date": "2025-04-20T19:22:17Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "moghtech/komodo",
|
"name": "moghtech/komodo",
|
||||||
"version": "v1.17.5",
|
"version": "v1.17.5",
|
||||||
@@ -264,11 +404,6 @@
|
|||||||
"version": "debian/12.0.16",
|
"version": "debian/12.0.16",
|
||||||
"date": "2025-05-04T22:06:15Z"
|
"date": "2025-05-04T22:06:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "juanfont/headscale",
|
|
||||||
"version": "v0.25.1",
|
|
||||||
"date": "2025-02-25T17:30:48Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Lidarr/Lidarr",
|
"name": "Lidarr/Lidarr",
|
||||||
"version": "v2.11.2.4629",
|
"version": "v2.11.2.4629",
|
||||||
@@ -279,26 +414,11 @@
|
|||||||
"version": "v2.0.0.4645",
|
"version": "v2.0.0.4645",
|
||||||
"date": "2017-03-07T18:56:06Z"
|
"date": "2017-03-07T18:56:06Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Prowlarr/Prowlarr",
|
|
||||||
"version": "v1.35.1.5034",
|
|
||||||
"date": "2025-04-30T11:02:36Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radarr/Radarr",
|
|
||||||
"version": "v5.22.4.9896",
|
|
||||||
"date": "2025-04-23T18:51:12Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "bastienwirtz/homer",
|
"name": "bastienwirtz/homer",
|
||||||
"version": "v25.05.1",
|
"version": "v25.05.1",
|
||||||
"date": "2025-05-04T12:17:00Z"
|
"date": "2025-05-04T12:17:00Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.6.8",
|
|
||||||
"date": "2025-05-03T22:56:44Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "FreshRSS/FreshRSS",
|
"name": "FreshRSS/FreshRSS",
|
||||||
"version": "1.26.2",
|
"version": "1.26.2",
|
||||||
@@ -309,11 +429,6 @@
|
|||||||
"version": "v25.5.0",
|
"version": "v25.5.0",
|
||||||
"date": "2025-05-03T19:03:17Z"
|
"date": "2025-05-03T19:03:17Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "owncast/owncast",
|
|
||||||
"version": "v0.2.2",
|
|
||||||
"date": "2025-05-03T18:45:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "rogerfar/rdt-client",
|
"name": "rogerfar/rdt-client",
|
||||||
"version": "v2.0.111",
|
"version": "v2.0.111",
|
||||||
@@ -324,11 +439,6 @@
|
|||||||
"version": "0.49.16",
|
"version": "0.49.16",
|
||||||
"date": "2025-05-03T14:44:01Z"
|
"date": "2025-05-03T14:44:01Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ellite/Wallos",
|
|
||||||
"version": "v3.0.2",
|
|
||||||
"date": "2025-05-03T13:38:57Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "blakeblackshear/frigate",
|
"name": "blakeblackshear/frigate",
|
||||||
"version": "v0.14.1",
|
"version": "v0.14.1",
|
||||||
@@ -339,26 +449,11 @@
|
|||||||
"version": "2.33.0",
|
"version": "2.33.0",
|
||||||
"date": "2025-05-03T10:33:49Z"
|
"date": "2025-05-03T10:33:49Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Brandawg93/PeaNUT",
|
|
||||||
"version": "v5.7.4",
|
|
||||||
"date": "2025-05-02T23:41:08Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "documenso/documenso",
|
"name": "documenso/documenso",
|
||||||
"version": "v1.10.3",
|
"version": "v1.10.3",
|
||||||
"date": "2025-05-02T23:23:25Z"
|
"date": "2025-05-02T23:23:25Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "homarr-labs/homarr",
|
|
||||||
"version": "v1.19.0",
|
|
||||||
"date": "2025-05-02T19:15:25Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "coder/code-server",
|
|
||||||
"version": "v4.99.4",
|
|
||||||
"date": "2025-05-02T18:33:09Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "prometheus/prometheus",
|
"name": "prometheus/prometheus",
|
||||||
"version": "v0.304.0-rc.0",
|
"version": "v0.304.0-rc.0",
|
||||||
@@ -404,16 +499,6 @@
|
|||||||
"version": "v4.3.0",
|
"version": "v4.3.0",
|
||||||
"date": "2025-05-01T16:46:17Z"
|
"date": "2025-05-01T16:46:17Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "NodeBB/NodeBB",
|
|
||||||
"version": "v4.3.0",
|
|
||||||
"date": "2025-05-01T04:13:41Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "readeck/readeck",
|
|
||||||
"version": "0.18.1",
|
|
||||||
"date": "2025-04-30T17:44:46Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "WordPress/WordPress",
|
"name": "WordPress/WordPress",
|
||||||
"version": "6.8.1",
|
"version": "6.8.1",
|
||||||
@@ -439,11 +524,6 @@
|
|||||||
"version": "version/2025.4.0",
|
"version": "version/2025.4.0",
|
||||||
"date": "2025-04-30T12:34:14Z"
|
"date": "2025-04-30T12:34:14Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Stirling-Tools/Stirling-PDF",
|
|
||||||
"version": "v0.46.0",
|
|
||||||
"date": "2025-04-30T07:05:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "go-gitea/gitea",
|
"name": "go-gitea/gitea",
|
||||||
"version": "v1.25.0-dev",
|
"version": "v1.25.0-dev",
|
||||||
@@ -464,11 +544,6 @@
|
|||||||
"version": "v1.4.7",
|
"version": "v1.4.7",
|
||||||
"date": "2025-04-29T15:00:18Z"
|
"date": "2025-04-29T15:00:18Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"version": "2025.4.1",
|
|
||||||
"date": "2025-04-29T02:20:36Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "henrygd/beszel",
|
"name": "henrygd/beszel",
|
||||||
"version": "v0.11.1",
|
"version": "v0.11.1",
|
||||||
@@ -489,16 +564,6 @@
|
|||||||
"version": "v1.132.3",
|
"version": "v1.132.3",
|
||||||
"date": "2025-04-28T14:11:06Z"
|
"date": "2025-04-28T14:11:06Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pocketbase/pocketbase",
|
|
||||||
"version": "v0.27.2",
|
|
||||||
"date": "2025-04-28T12:03:30Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
|
||||||
"version": "pmm-6401-v1.116.0",
|
|
||||||
"date": "2025-04-28T11:30:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "FlowiseAI/Flowise",
|
"name": "FlowiseAI/Flowise",
|
||||||
"version": "flowise@2.2.8",
|
"version": "flowise@2.2.8",
|
||||||
@@ -559,11 +624,6 @@
|
|||||||
"version": "v2.1.0.117-2.1.0.117_canary_2025-04-25",
|
"version": "v2.1.0.117-2.1.0.117_canary_2025-04-25",
|
||||||
"date": "2025-04-25T17:22:12Z"
|
"date": "2025-04-25T17:22:12Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "donaldzou/WGDashboard",
|
|
||||||
"version": "v4.2.2",
|
|
||||||
"date": "2025-04-25T07:42:03Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "mongodb/mongo",
|
"name": "mongodb/mongo",
|
||||||
"version": "r7.0.19",
|
"version": "r7.0.19",
|
||||||
@@ -574,11 +634,6 @@
|
|||||||
"version": "v1.4.0",
|
"version": "v1.4.0",
|
||||||
"date": "2025-04-24T16:20:17Z"
|
"date": "2025-04-24T16:20:17Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "glpi-project/glpi",
|
|
||||||
"version": "10.0.18",
|
|
||||||
"date": "2025-02-12T11:07:02Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "NLnetLabs/unbound",
|
"name": "NLnetLabs/unbound",
|
||||||
"version": "release-1.23.0",
|
"version": "release-1.23.0",
|
||||||
@@ -589,11 +644,6 @@
|
|||||||
"version": "0.17.11",
|
"version": "0.17.11",
|
||||||
"date": "2025-04-24T05:25:55Z"
|
"date": "2025-04-24T05:25:55Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Kozea/Radicale",
|
|
||||||
"version": "v3.5.2",
|
|
||||||
"date": "2025-04-23T18:41:46Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "minio/minio",
|
"name": "minio/minio",
|
||||||
"version": "RELEASE.2025-04-22T22-12-26Z",
|
"version": "RELEASE.2025-04-22T22-12-26Z",
|
||||||
@@ -709,26 +759,11 @@
|
|||||||
"version": "4.5.1",
|
"version": "4.5.1",
|
||||||
"date": "2025-04-11T09:57:47Z"
|
"date": "2025-04-11T09:57:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "outline/outline",
|
|
||||||
"version": "v0.83.0",
|
|
||||||
"date": "2025-04-11T03:53:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "apache/cassandra",
|
"name": "apache/cassandra",
|
||||||
"version": "cassandra-5.0.4",
|
"version": "cassandra-5.0.4",
|
||||||
"date": "2025-04-10T16:32:00Z"
|
"date": "2025-04-10T16:32:00Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pelican-dev/panel",
|
|
||||||
"version": "v1.0.0-beta19",
|
|
||||||
"date": "2025-04-07T23:06:29Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pelican-dev/wings",
|
|
||||||
"version": "v1.0.0-beta11",
|
|
||||||
"date": "2025-04-07T23:02:00Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Threadfin/Threadfin",
|
"name": "Threadfin/Threadfin",
|
||||||
"version": "1.2.32",
|
"version": "1.2.32",
|
||||||
@@ -744,11 +779,6 @@
|
|||||||
"version": "21.0.1",
|
"version": "21.0.1",
|
||||||
"date": "2025-04-06T19:22:59Z"
|
"date": "2025-04-06T19:22:59Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "stonith404/pingvin-share",
|
|
||||||
"version": "v1.11.1",
|
|
||||||
"date": "2025-04-06T18:39:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "wavelog/wavelog",
|
"name": "wavelog/wavelog",
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
@@ -774,11 +804,6 @@
|
|||||||
"version": "v0.55.2",
|
"version": "v0.55.2",
|
||||||
"date": "2025-04-05T12:07:32Z"
|
"date": "2025-04-05T12:07:32Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "apache/tomcat",
|
|
||||||
"version": "9.0.104",
|
|
||||||
"date": "2025-04-04T12:58:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "MagicMirrorOrg/MagicMirror",
|
"name": "MagicMirrorOrg/MagicMirror",
|
||||||
"version": "v2.31.0",
|
"version": "v2.31.0",
|
||||||
@@ -849,26 +874,11 @@
|
|||||||
"version": "v1.34.0",
|
"version": "v1.34.0",
|
||||||
"date": "2025-03-26T08:48:34Z"
|
"date": "2025-03-26T08:48:34Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ipfs/kubo",
|
|
||||||
"version": "v0.34.1",
|
|
||||||
"date": "2025-03-25T18:11:12Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hansmi/prometheus-paperless-exporter",
|
"name": "hansmi/prometheus-paperless-exporter",
|
||||||
"version": "v0.0.7",
|
"version": "v0.0.7",
|
||||||
"date": "2025-03-25T15:11:18Z"
|
"date": "2025-03-25T15:11:18Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "crowdsecurity/crowdsec",
|
|
||||||
"version": "v1.6.8",
|
|
||||||
"date": "2025-03-25T13:33:10Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ZoeyVid/NPMplus",
|
|
||||||
"version": "2025-03-24-r2",
|
|
||||||
"date": "2025-03-24T20:52:35Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "nextcloud/nextcloudpi",
|
"name": "nextcloud/nextcloudpi",
|
||||||
"version": "v1.55.4",
|
"version": "v1.55.4",
|
||||||
@@ -904,11 +914,6 @@
|
|||||||
"version": "v0.22.1",
|
"version": "v0.22.1",
|
||||||
"date": "2025-03-18T21:01:22Z"
|
"date": "2025-03-18T21:01:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "authelia/authelia",
|
|
||||||
"version": "v4.39.1",
|
|
||||||
"date": "2025-03-18T03:57:41Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Sonarr/Sonarr",
|
"name": "Sonarr/Sonarr",
|
||||||
"version": "v4.0.14.2939",
|
"version": "v4.0.14.2939",
|
||||||
@@ -954,11 +959,6 @@
|
|||||||
"version": "v2.4.2",
|
"version": "v2.4.2",
|
||||||
"date": "2025-03-08T10:49:04Z"
|
"date": "2025-03-08T10:49:04Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "umami-software/umami",
|
|
||||||
"version": "v2.17.0",
|
|
||||||
"date": "2025-03-08T06:08:04Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "prometheus/alertmanager",
|
"name": "prometheus/alertmanager",
|
||||||
"version": "v0.28.1",
|
"version": "v0.28.1",
|
||||||
|
|||||||
@@ -34,4 +34,9 @@ export const FAQ_Items = [
|
|||||||
content:
|
content:
|
||||||
"If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.",
|
"If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "What does \"Updatable\" and \"Not updatable\" mean?",
|
||||||
|
content:
|
||||||
|
"Updatable means that script has a function that is used to update the installed application to the latest version available. Not updatable means that script doesn't have a function that can safely update the application to the latest version available, so only the LXC OS is updated.",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gpg \
|
|
||||||
pkg-config \
|
pkg-config \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
build-essential \
|
build-essential \
|
||||||
@@ -33,9 +32,15 @@ $STD apt-get install -y \
|
|||||||
libxmlsec1-openssl \
|
libxmlsec1-openssl \
|
||||||
libmaxminddb0 \
|
libmaxminddb0 \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
|
redis-server \
|
||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
NODE_VERSION="22" install_node_and_modules
|
||||||
|
install_go
|
||||||
|
|
||||||
msg_info "Installing yq"
|
msg_info "Installing yq"
|
||||||
cd /tmp
|
cd /tmp
|
||||||
YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')"
|
YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')"
|
||||||
@@ -56,46 +61,8 @@ cat <<EOF >/etc/GeoIP.conf
|
|||||||
EOF
|
EOF
|
||||||
msg_ok "Installed GeoIP"
|
msg_ok "Installed GeoIP"
|
||||||
|
|
||||||
msg_info "Setting up Python 3"
|
|
||||||
cd /tmp
|
|
||||||
curl -fsSL "https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz" -o "Python.tgz"
|
|
||||||
tar -zxf Python.tgz
|
|
||||||
cd Python-3.12.1
|
|
||||||
$STD ./configure --enable-optimizations
|
|
||||||
$STD make altinstall
|
|
||||||
cd ~
|
|
||||||
$STD update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 1
|
|
||||||
msg_ok "Setup Python 3"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Golang"
|
|
||||||
set +o pipefail
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
rm -f "$temp_file"
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Installed Golang"
|
|
||||||
|
|
||||||
msg_info "Installing Redis"
|
|
||||||
$STD apt-get install -y redis-server
|
|
||||||
systemctl enable -q --now redis-server
|
|
||||||
msg_ok "Installed Redis"
|
|
||||||
|
|
||||||
msg_info "Installing PostgreSQL"
|
msg_info "Installing PostgreSQL"
|
||||||
$STD apt-get install -y postgresql postgresql-contrib
|
$STD apt-get install -y postgresql-16 postgresql-contrib-16
|
||||||
DB_NAME="authentik"
|
DB_NAME="authentik"
|
||||||
DB_USER="authentik"
|
DB_USER="authentik"
|
||||||
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
|
||||||
@@ -111,25 +78,29 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases
|
|||||||
mkdir -p /opt/authentik
|
mkdir -p /opt/authentik
|
||||||
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
|
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
|
||||||
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
|
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
cd /opt/authentik/website
|
cd /opt/authentik/website
|
||||||
$STD npm install
|
$STD npm install
|
||||||
$STD npm run build-bundled
|
$STD npm run build-bundled
|
||||||
|
|
||||||
cd /opt/authentik/web
|
cd /opt/authentik/web
|
||||||
$STD npm install
|
$STD npm install
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
cd /opt/authentik
|
cd /opt/authentik
|
||||||
$STD go mod download
|
$STD go mod download
|
||||||
$STD go build -o /go/authentik ./cmd/server
|
$STD go build -o /go/authentik ./cmd/server
|
||||||
$STD go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
$STD go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
||||||
cd /opt/authentik
|
$STD uv sync --frozen --no-install-project --no-dev
|
||||||
$STD pip3 install --upgrade pip
|
#$STD pip3 install --no-cache-dir --upgrade pip
|
||||||
$STD pip3 install poetry poetry-plugin-export
|
#$STD pip3 install --upgrade pip
|
||||||
ln -s /usr/local/bin/poetry /usr/bin/poetry
|
#$STD pip3 install poetry poetry-plugin-export
|
||||||
$STD poetry install --only=main --no-ansi --no-interaction --no-root
|
|
||||||
$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
|
#ln -s /usr/local/bin/poetry /usr/bin/poetry
|
||||||
$STD pip install --no-cache-dir -r requirements.txt
|
#$STD poetry install --only=main --no-ansi --no-interaction --no-root
|
||||||
$STD pip install .
|
#$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
|
||||||
|
#$STD pip install --no-cache-dir -r requirements.txt
|
||||||
|
#$STD pip install .
|
||||||
mkdir -p /etc/authentik
|
mkdir -p /etc/authentik
|
||||||
mv /opt/authentik/authentik/lib/default.yml /etc/authentik/config.yml
|
mv /opt/authentik/authentik/lib/default.yml /etc/authentik/config.yml
|
||||||
$STD yq -i ".secret_key = \"$(openssl rand -hex 32)\"" /etc/authentik/config.yml
|
$STD yq -i ".secret_key = \"$(openssl rand -hex 32)\"" /etc/authentik/config.yml
|
||||||
@@ -137,23 +108,30 @@ $STD yq -i ".postgresql.password = \"${DB_PASS}\"" /etc/authentik/config.yml
|
|||||||
$STD yq -i ".geoip = \"/opt/authentik/tests/GeoLite2-City-Test.mmdb\"" /etc/authentik/config.yml
|
$STD yq -i ".geoip = \"/opt/authentik/tests/GeoLite2-City-Test.mmdb\"" /etc/authentik/config.yml
|
||||||
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
|
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
|
||||||
$STD yq -i ".blueprints_dir = \"/opt/authentik/blueprints\"" /etc/authentik/config.yml
|
$STD yq -i ".blueprints_dir = \"/opt/authentik/blueprints\"" /etc/authentik/config.yml
|
||||||
ln -s /usr/bin/python3 /usr/bin/python
|
#ln -s /usr/bin/python3 /usr/bin/python
|
||||||
ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn
|
#ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn
|
||||||
ln -s /usr/local/bin/celery /usr/bin/celery
|
#ln -s /usr/local/bin/celery /usr/bin/celery
|
||||||
$STD bash /opt/authentik/lifecycle/ak migrate
|
#$STD bash /opt/authentik/lifecycle/ak migrate
|
||||||
cd ~
|
cd /opt/authentik
|
||||||
|
uv run python -m lifecycle.migrate
|
||||||
|
ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn
|
||||||
|
ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery
|
||||||
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
msg_ok "Installed authentik"
|
msg_ok "Installed authentik"
|
||||||
|
|
||||||
msg_info "Creating Services"
|
msg_info "Creating Services"
|
||||||
cat <<EOF >/etc/systemd/system/authentik-server.service
|
cat <<EOF >/etc/systemd/system/authentik-server.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description = authentik Server
|
Description=authentik Go Server (API Gateway)
|
||||||
|
After=network.target
|
||||||
|
Wants=redis.service postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/opt/authentik/authentik-server
|
|
||||||
WorkingDirectory=/opt/authentik/
|
WorkingDirectory=/opt/authentik/
|
||||||
|
ExecStart=/opt/authentik/authentik-server
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
@@ -161,21 +139,49 @@ EOF
|
|||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/authentik-worker.service
|
cat <<EOF >/etc/systemd/system/authentik-worker.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description = authentik Worker
|
Description=authentik Celery Worker
|
||||||
|
After=network.target redis.service postgresql.service
|
||||||
|
Requires=redis.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Environment=DJANGO_SETTINGS_MODULE="authentik.root.settings"
|
Type=simple
|
||||||
ExecStart=celery -A authentik.root.celery worker -Ofair --max-tasks-per-child=1 --autoscale 3,1 -E -B -s /tmp/celerybeat-schedule -Q authentik,authentik_scheduled,authentik_events
|
WorkingDirectory=/opt/authentik
|
||||||
WorkingDirectory=/opt/authentik/authentik
|
ExecStart=/opt/authentik/.venv/bin/celery \
|
||||||
|
-A authentik.root.celery worker \
|
||||||
|
-Ofair \
|
||||||
|
--max-tasks-per-child=1 \
|
||||||
|
--autoscale 3,1 \
|
||||||
|
-Q authentik,authentik_scheduled,authentik_events \
|
||||||
|
-E
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now authentik-server
|
|
||||||
sleep 2
|
cat <<EOF >/etc/systemd/system/authentik-celery-beat.service
|
||||||
systemctl enable -q --now authentik-worker
|
[Unit]
|
||||||
|
Description=authentik Celery Beat Scheduler
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/opt/authentik
|
||||||
|
ExecStart=/opt/authentik/.venv/bin/celery \
|
||||||
|
-A authentik.root.celery beat \
|
||||||
|
-s /tmp/celerybeat-schedule
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
#User=authentik
|
||||||
|
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
systemctl enable -q --now authentik-server authentik-worker authentik-celery-beat
|
||||||
msg_ok "Created Services"
|
msg_ok "Created Services"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ mkdir -p /var/lib/bazarr/
|
|||||||
curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip")
|
curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip")
|
||||||
unzip -qq bazarr -d /opt/bazarr
|
unzip -qq bazarr -d /opt/bazarr
|
||||||
chmod 775 /opt/bazarr /var/lib/bazarr/
|
chmod 775 /opt/bazarr /var/lib/bazarr/
|
||||||
python3 -m pip install -q -r /opt/bazarr/requirements.txt
|
$STD python3 -m pip install -q -r /opt/bazarr/requirements.txt
|
||||||
msg_ok "Installed Bazarr"
|
msg_ok "Installed Bazarr"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
|
|||||||
@@ -73,9 +73,7 @@ sed -i \
|
|||||||
-e "s|^NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=.*|NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
-e "s|^NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=.*|NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
||||||
-e "s|^DOCUMENSO_ENCRYPTION_KEY=.*|DOCUMENSO_ENCRYPTION_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
-e "s|^DOCUMENSO_ENCRYPTION_KEY=.*|DOCUMENSO_ENCRYPTION_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
||||||
-e "s|^DOCUMENSO_ENCRYPTION_SECONDARY_KEY=.*|DOCUMENSO_ENCRYPTION_SECONDARY_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
-e "s|^DOCUMENSO_ENCRYPTION_SECONDARY_KEY=.*|DOCUMENSO_ENCRYPTION_SECONDARY_KEY='$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)'|" \
|
||||||
-e "s|^NEXTAUTH_URL=.*|NEXTAUTH_URL=\"http://${LOCAL_IP}:3000\"|" \
|
-e "s|^NEXT_PUBLIC_WEBAPP_URL=.*|NEXT_PUBLIC_WEBAPP_URL='http://${LOCAL_IP}:3000'|" \
|
||||||
-e "s|^NEXT_PUBLIC_WEBAPP_URL=.*|NEXT_PUBLIC_WEBAPP_URL='http://${LOCAL_IP}:9000'|" \
|
|
||||||
-e "s|^NEXT_PUBLIC_MARKETING_URL=.*|NEXT_PUBLIC_MARKETING_URL=\"http://${LOCAL_IP}:3001\"|" \
|
|
||||||
-e "s|^NEXT_PRIVATE_INTERNAL_WEBAPP_URL=.*|NEXT_PRIVATE_INTERNAL_WEBAPP_URL=\"http://${LOCAL_IP}:3000\"|" \
|
-e "s|^NEXT_PRIVATE_INTERNAL_WEBAPP_URL=.*|NEXT_PRIVATE_INTERNAL_WEBAPP_URL=\"http://${LOCAL_IP}:3000\"|" \
|
||||||
-e "s|^NEXT_PRIVATE_DATABASE_URL=.*|NEXT_PRIVATE_DATABASE_URL=\"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME\"|" \
|
-e "s|^NEXT_PRIVATE_DATABASE_URL=.*|NEXT_PRIVATE_DATABASE_URL=\"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME\"|" \
|
||||||
-e "s|^NEXT_PRIVATE_DIRECT_DATABASE_URL=.*|NEXT_PRIVATE_DIRECT_DATABASE_URL=\"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME\"|" \
|
-e "s|^NEXT_PRIVATE_DIRECT_DATABASE_URL=.*|NEXT_PRIVATE_DIRECT_DATABASE_URL=\"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME\"|" \
|
||||||
@@ -85,7 +83,7 @@ export NEXT_TELEMETRY_DISABLED=1
|
|||||||
export CYPRESS_INSTALL_BINARY=0
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
export NODE_OPTIONS="--max-old-space-size=4096"
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
$STD npm run build:web
|
$STD turbo run build --filter=@documenso/remix
|
||||||
$STD npm run prisma:migrate-deploy
|
$STD npm run prisma:migrate-deploy
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||||
msg_ok "Installed Documenso"
|
msg_ok "Installed Documenso"
|
||||||
@@ -103,8 +101,8 @@ Description=Documenso Service
|
|||||||
After=network.target postgresql.service
|
After=network.target postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
WorkingDirectory=/opt/documenso/apps/web
|
WorkingDirectory=/opt/documenso
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/turbo run start --filter=@documenso/remix
|
||||||
Restart=always
|
Restart=always
|
||||||
EnvironmentFile=/opt/documenso/.env
|
EnvironmentFile=/opt/documenso/.env
|
||||||
|
|
||||||
@@ -118,6 +116,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
|
$STD turbo daemon stop
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -46,29 +46,33 @@ $STD apt-get install -y \
|
|||||||
pkg-config
|
pkg-config
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
setup_uv
|
||||||
msg_info "Setup Python3"
|
msg_info "Setup Python3"
|
||||||
$STD apt-get update
|
|
||||||
$STD rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
$STD apt-get remove --purge -y python3.12 python3.12-dev python3.12-venv
|
|
||||||
|
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
python3.13 \
|
python3.13 \
|
||||||
python3-pip \
|
|
||||||
python3.13-dev \
|
python3.13-dev \
|
||||||
python3.13-venv
|
python3.13-venv
|
||||||
|
|
||||||
ln -sf /usr/bin/python3.13 /usr/bin/python3
|
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
|
msg_info "Preparing Python 3.13 for uv"
|
||||||
|
$STD uv python install 3.13
|
||||||
|
UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}')
|
||||||
|
if [[ -z "$UV_PYTHON" ]]; then
|
||||||
|
msg_error "No local Python 3.13 found via uv"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
msg_ok "Prepared Python 3.13"
|
||||||
|
|
||||||
msg_info "Setting up Home Assistant-Core environment"
|
msg_info "Setting up Home Assistant-Core environment"
|
||||||
mkdir /srv/homeassistant
|
rm -rf /srv/homeassistant
|
||||||
|
mkdir -p /srv/homeassistant
|
||||||
cd /srv/homeassistant
|
cd /srv/homeassistant
|
||||||
python3 -m venv .
|
$STD uv venv .venv --python "$UV_PYTHON"
|
||||||
source bin/activate
|
source .venv/bin/activate
|
||||||
msg_ok "Created virtual environment"
|
msg_ok "Created virtual environment"
|
||||||
|
|
||||||
msg_info "Installing Home Assistant-Core"
|
msg_info "Installing Home Assistant-Core"
|
||||||
$STD python3 -m pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
|
$STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel
|
||||||
mkdir -p /root/.homeassistant
|
mkdir -p /root/.homeassistant
|
||||||
msg_ok "Installed Home Assistant-Core"
|
msg_ok "Installed Home Assistant-Core"
|
||||||
|
|
||||||
@@ -77,16 +81,19 @@ cat <<EOF >/etc/systemd/system/homeassistant.service
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Home Assistant
|
Description=Home Assistant
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/root/.homeassistant
|
WorkingDirectory=/root/.homeassistant
|
||||||
Environment="PATH=/srv/homeassistant/bin:/usr/local/bin:/usr/bin:/usr/local/bin/uv"
|
Environment="PATH=/srv/homeassistant/.venv/bin:/usr/local/bin:/usr/bin"
|
||||||
ExecStart=/srv/homeassistant/bin/python3 -m homeassistant --config /root/.homeassistant
|
ExecStart=/srv/homeassistant/.venv/bin/python3 -m homeassistant --config /root/.homeassistant
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartForceExitStatus=100
|
RestartForceExitStatus=100
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
systemctl enable -q --now homeassistant
|
systemctl enable -q --now homeassistant
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
|||||||
@@ -15,30 +15,18 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg \
|
|
||||||
git \
|
git \
|
||||||
build-essential
|
build-essential
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
|
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
|
||||||
cd /opt/jellyseerr
|
cd /opt/jellyseerr
|
||||||
$STD git checkout main
|
$STD git checkout main
|
||||||
|
|
||||||
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
|
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
|
||||||
msg_info "Installing pnpm version $pnpm_desired..."
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
||||||
$STD npm install -g pnpm@$pnpm_desired
|
|
||||||
msg_ok "Installed pnpm"
|
|
||||||
|
|
||||||
msg_info "Installing Jellyseerr (Patience)"
|
msg_info "Installing Jellyseerr (Patience)"
|
||||||
export CYPRESS_INSTALL_BINARY=0
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv
|
|||||||
source /usr/local/searxng/searx-pyenv/bin/activate
|
source /usr/local/searxng/searx-pyenv/bin/activate
|
||||||
$STD pip install --upgrade pip setuptools wheel
|
$STD pip install --upgrade pip setuptools wheel
|
||||||
$STD pip install pyyaml
|
$STD pip install pyyaml
|
||||||
$STD pip install -e /usr/local/searxng/searxng-src
|
$STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
|
||||||
SECRET_KEY=$(openssl rand -hex 32)
|
SECRET_KEY=$(openssl rand -hex 32)
|
||||||
cat <<EOF >/etc/searxng/settings.yml
|
cat <<EOF >/etc/searxng/settings.yml
|
||||||
# SearXNG settings
|
# SearXNG settings
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ $STD apt-get -y install elasticsearch
|
|||||||
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
|
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
|
||||||
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
|
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
|
||||||
$STD /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment -b
|
$STD /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment -b
|
||||||
systemctl -q restart elasticsearch
|
systemctl enable -q elasticsearch
|
||||||
|
systemctl restart -q elasticsearch
|
||||||
msg_ok "Setup Elasticsearch"
|
msg_ok "Setup Elasticsearch"
|
||||||
|
|
||||||
msg_info "Installing Zammad"
|
msg_info "Installing Zammad"
|
||||||
|
|||||||
@@ -190,10 +190,29 @@ validate_tz() {
|
|||||||
customize() {
|
customize() {
|
||||||
if [[ "$PASSWORD" == "" ]]; then
|
if [[ "$PASSWORD" == "" ]]; then
|
||||||
msg_info "Customizing Container"
|
msg_info "Customizing Container"
|
||||||
bash -c "passwd -d root" >/dev/null 2>&1
|
passwd -d root >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Ensure agetty is available
|
||||||
|
apk add --no-cache --force-broken-world util-linux >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Create persistent autologin boot script
|
||||||
|
mkdir -p /etc/local.d
|
||||||
|
cat <<'EOF' >/etc/local.d/autologin.start
|
||||||
|
#!/bin/sh
|
||||||
|
sed -i 's|^tty1::respawn:.*|tty1::respawn:/sbin/agetty --autologin root --noclear tty1 38400 linux|' /etc/inittab
|
||||||
|
kill -HUP 1
|
||||||
|
EOF
|
||||||
|
touch /root/.hushlogin
|
||||||
|
|
||||||
|
chmod +x /etc/local.d/autologin.start
|
||||||
|
rc-update add local >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Apply autologin immediately for current session
|
||||||
|
/etc/local.d/autologin.start
|
||||||
|
|
||||||
msg_ok "Customized Container"
|
msg_ok "Customized Container"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/${app}.sh)\"" >/usr/bin/update
|
echo "bash -c \"\$(curl -fsSL https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update
|
||||||
chmod +x /usr/bin/update
|
chmod +x /usr/bin/update
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -528,15 +528,17 @@ advanced_settings() {
|
|||||||
exit_script
|
exit_script
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" 3>&1 1>&2 2>&3); then
|
BRIDGES=$( ip link show | grep -oP '(?<=: )vmbr\d+' | sort)
|
||||||
if [ -z "$BRG" ]; then
|
if [[ -z "$BRIDGES" ]]; then
|
||||||
BRG="vmbr0"
|
BRG="vmbr0"
|
||||||
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
|
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
|
||||||
|
else
|
||||||
|
BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --menu "Select network bridge:" 15 40 6 $(echo "$BRIDGES" | awk '{print $0, "Bridge"}') 3>&1 1>&2 2>&3)
|
||||||
|
if [ -z "$BRG" ]; then
|
||||||
|
exit_script
|
||||||
else
|
else
|
||||||
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
|
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
exit_script
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ install_mongodb() {
|
|||||||
|
|
||||||
fetch_and_deploy_gh_release() {
|
fetch_and_deploy_gh_release() {
|
||||||
local repo="$1"
|
local repo="$1"
|
||||||
local app=$(echo ${APPLICATION,,} | tr -d ' ')
|
local app=${APP:-$(echo "${APPLICATION,,}" | tr -d ' ')}
|
||||||
local api_url="https://api.github.com/repos/$repo/releases/latest"
|
local api_url="https://api.github.com/repos/$repo/releases/latest"
|
||||||
local header=()
|
local header=()
|
||||||
local attempt=0
|
local attempt=0
|
||||||
|
|||||||
@@ -114,8 +114,8 @@ function msg_ok() {
|
|||||||
}
|
}
|
||||||
function default_settings() {
|
function default_settings() {
|
||||||
METHOD="default"
|
METHOD="default"
|
||||||
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$NEXTID${CL}"
|
VMID=$(get_valid_nextid)
|
||||||
VMID=$NEXTID
|
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$VMID${CL}"
|
||||||
echo -e "${DGN}Using Hostname: ${BGN}mikrotik-routeros-chr${CL}"
|
echo -e "${DGN}Using Hostname: ${BGN}mikrotik-routeros-chr${CL}"
|
||||||
HN=mikrotik-routeros-chr
|
HN=mikrotik-routeros-chr
|
||||||
echo -e "${DGN}Allocated Cores: ${BGN}1${CL}"
|
echo -e "${DGN}Allocated Cores: ${BGN}1${CL}"
|
||||||
@@ -136,7 +136,8 @@ function default_settings() {
|
|||||||
}
|
}
|
||||||
function advanced_settings() {
|
function advanced_settings() {
|
||||||
METHOD="advanced"
|
METHOD="advanced"
|
||||||
VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $NEXTID --title "VIRTUAL MACHINE ID" 3>&1 1>&2 2>&3)
|
[ -z "${VMID:-}" ] && VMID=$(get_valid_nextid)
|
||||||
|
VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $VMID --title "VIRTUAL MACHINE ID" 3>&1 1>&2 2>&3)
|
||||||
exitstatus=$?
|
exitstatus=$?
|
||||||
if [ $exitstatus = 0 ]; then
|
if [ $exitstatus = 0 ]; then
|
||||||
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$VMID${CL}"
|
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$VMID${CL}"
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ function exit-script() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function default_settings() {
|
function default_settings() {
|
||||||
VMID=$NEXTID
|
VMID=$(get_valid_nextid)
|
||||||
HN=openwrt
|
HN=openwrt
|
||||||
CORE_COUNT="1"
|
CORE_COUNT="1"
|
||||||
RAM_SIZE="256"
|
RAM_SIZE="256"
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ function default_settings() {
|
|||||||
METHOD="default"
|
METHOD="default"
|
||||||
echo -e "${DGN}Using HAOS Version: ${BGN}${STABLE}${CL}"
|
echo -e "${DGN}Using HAOS Version: ${BGN}${STABLE}${CL}"
|
||||||
BRANCH=${STABLE}
|
BRANCH=${STABLE}
|
||||||
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$NEXTID${CL}"
|
VMID=$(get_valid_nextid)
|
||||||
VMID=$NEXTID
|
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$VMID${CL}"
|
||||||
echo -e "${DGN}Using Hostname: ${BGN}haos${STABLE}${CL}"
|
echo -e "${DGN}Using Hostname: ${BGN}haos${STABLE}${CL}"
|
||||||
HN=haos${STABLE}
|
HN=haos${STABLE}
|
||||||
echo -e "${DGN}Allocated Cores: ${BGN}2${CL}"
|
echo -e "${DGN}Allocated Cores: ${BGN}2${CL}"
|
||||||
@@ -166,10 +166,11 @@ function advanced_settings() {
|
|||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
exitstatus=$?
|
exitstatus=$?
|
||||||
if [ $exitstatus = 0 ]; then echo -e "${DGN}Using HAOS Version: ${BGN}$BRANCH${CL}"; fi
|
if [ $exitstatus = 0 ]; then echo -e "${DGN}Using HAOS Version: ${BGN}$BRANCH${CL}"; fi
|
||||||
VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $NEXTID --title "VIRTUAL MACHINE ID" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
|
[ -z "${VMID:-}" ] && VMID=$(get_valid_nextid)
|
||||||
|
VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $VMID --title "VIRTUAL MACHINE ID" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
|
||||||
exitstatus=$?
|
exitstatus=$?
|
||||||
if [ -z $VMID ]; then
|
if [ -z $VMID ]; then
|
||||||
VMID="$NEXTID"
|
VMID="$VMID"
|
||||||
echo -e "${DGN}Virtual Machine: ${BGN}$VMID${CL}"
|
echo -e "${DGN}Virtual Machine: ${BGN}$VMID${CL}"
|
||||||
else
|
else
|
||||||
if echo "$USEDID" | egrep -q "$VMID"; then
|
if echo "$USEDID" | egrep -q "$VMID"; then
|
||||||
|
|||||||
Reference in New Issue
Block a user