Compare commits

..

35 Commits

Author SHA1 Message Date
github-actions[bot]
ddfdb5e575 chore: add VERSION v0.4.12 2025-11-20 17:59:37 +00:00
CanbiZ
3579f2258e Update supported Proxmox VE versions to include 9.1 (#335)
The pve_check function now allows Proxmox VE 9.1 in addition to 9.0 and 8.x. Error messages and comments have been updated to reflect the expanded support.
2025-11-20 18:57:55 +01:00
Michel Roegl-Brunner
5b861ade05 add missing api.func to FUNCTIONS_FILE_PATH 2025-11-18 09:26:39 +01:00
Michel Roegl-Brunner
553eae6ce7 docs: add LXC Backups section to help modal 2025-11-18 09:22:13 +01:00
Michel Roegl-Brunner
c2ca88f033 Merge pull request #328 from community-scripts/dependabot/npm_and_yarn/types/node-24.10.1
build(deps-dev): Bump @types/node from 24.9.1 to 24.10.1
2025-11-18 09:20:49 +01:00
Michel Roegl-Brunner
67d44a6a5f Merge pull request #329 from community-scripts/dependabot/npm_and_yarn/eslint-9.39.1
build(deps-dev): Bump eslint from 9.38.0 to 9.39.1
2025-11-18 09:20:40 +01:00
Michel Roegl-Brunner
fe6cca5c63 Merge pull request #331 from community-scripts/feat/lxc_backups
feat: Add LXC container backup functionality
2025-11-18 09:20:21 +01:00
Michel Roegl-Brunner
3a8088ded6 chore: add missing migration for backups and pbs_storage_credentials tables 2025-11-18 09:16:31 +01:00
Michel Roegl-Brunner
5d48c7b61c Merge branch 'main' into feat/lxc_backups 2025-11-18 09:15:03 +01:00
Michel Roegl-Brunner
5be88d361f chore: cleanup debug output from backup modals 2025-11-18 09:11:56 +01:00
dependabot[bot]
014e5b69e9 build(deps-dev): Bump eslint from 9.38.0 to 9.39.1
Bumps [eslint](https://github.com/eslint/eslint) from 9.38.0 to 9.39.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.38.0...v9.39.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 19:48:23 +00:00
dependabot[bot]
f37b2cb26f build(deps-dev): Bump @types/node from 24.9.1 to 24.10.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.9.1 to 24.10.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.10.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 19:48:15 +00:00
Michel Roegl-Brunner
81c00f5d40 Merge pull request #327 from community-scripts/dependabot/npm_and_yarn/npm_and_yarn-3c67cbb9cd 2025-11-16 23:21:24 +01:00
dependabot[bot]
9bae95d0aa build(deps-dev): Bump js-yaml
Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-16 10:12:09 +00:00
Michel Roegl-Brunner
088d354fd2 Merge pull request #322 from community-scripts/dependabot/npm_and_yarn/jsdom-27.2.0 2025-11-16 11:11:11 +01:00
Michel Roegl-Brunner
0d47fa5d2a Merge pull request #324 from community-scripts/dependabot/npm_and_yarn/types/react-19.2.4 2025-11-16 11:10:59 +01:00
dependabot[bot]
57fd5f802b build(deps-dev): Bump @types/react from 19.2.2 to 19.2.4
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.2.2 to 19.2.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 19:24:46 +00:00
dependabot[bot]
a1825302fa build(deps-dev): Bump jsdom from 27.1.0 to 27.2.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.1.0 to 27.2.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.1.0...27.2.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 19:24:26 +00:00
Michel Roegl-Brunner
570eea41b9 Implement real-time restore progress updates with polling
- Add restore.log file writing in restoreService.ts for progress tracking
- Create getRestoreProgress query endpoint for polling restore logs
- Implement polling-based progress updates in BackupsTab (1 second interval)
- Update LoadingModal to display all progress logs with auto-scroll
- Remove console.log debug output from restoreService
- Add static 'Restore in progress' text under spinner
- Show success checkmark when restore completes
- Prevent modal dismissal during restore, allow ESC/X button when complete
- Remove step prefixes from log messages for cleaner output
- Keep success/error modals open until user dismisses manually
2025-11-14 15:43:33 +01:00
Michel Roegl-Brunner
33a5b8e4d0 PBS restore working :) 2025-11-14 15:19:34 +01:00
Michel Roegl-Brunner
63174d2ea1 Fix PBS backup discovery command and authentication
- Fix PBS login to use PBS_PASSWORD environment variable instead of stdin
- Change backup discovery command from 'snapshots host/<CT_ID>' to 'snapshot list ct/<CT_ID>'
- Use full repository string (root@pam@IP:DATASTORE) instead of storage name
- Parse table format output correctly (snapshot | size | files)
- Extract snapshot name, size, and date from table output
- Convert size units (MiB/GiB) to bytes for storage
- Fix TypeScript errors with proper null checks
2025-11-14 13:21:53 +01:00
Michel Roegl-Brunner
eda41e5101 Implement PBS authentication support for backup discovery
- Add PBSStorageCredential model to database schema (fingerprint now required)
- Create PBS credentials API router with CRUD operations
- Add PBS login functionality to backup service before discovery
- Create PBSCredentialsModal component for managing credentials
- Integrate PBS credentials management into ServerStoragesModal
- Update storage service to extract PBS IP and datastore info
- Add helpful hint about finding fingerprint on PBS dashboard
- Auto-accept fingerprint during login using stored credentials
2025-11-14 13:12:39 +01:00
Michel Roegl-Brunner
4a50da4968 Add backup discovery tab with support for local and storage backups
- Add Backup model to Prisma schema with fields for container_id, server_id, hostname, backup info
- Create backupService with discovery methods for local (/var/lib/vz/dump/) and storage (/mnt/pve/<storage>/dump/) backups
- Add database methods for backup CRUD operations and grouping by container
- Create backupsRouter with getAllBackupsGrouped and discoverBackups procedures
- Add BackupsTab component with collapsible cards grouped by CT_ID and hostname
- Integrate backups tab into main page navigation
- Filter storages by node hostname matching to only show applicable storages
- Skip PBS backups discovery (temporarily disabled)
- Add comprehensive logging for backup discovery process
2025-11-14 13:04:59 +01:00
Michel Roegl-Brunner
d50ea55e6d Add LXC container backup functionality
- Add backup capability before updates or as standalone action
- Implement storage service to fetch and parse backup-capable storages from PVE nodes
- Add backup storage selection modal for user choice
- Support backup+update flow with sequential execution
- Add standalone backup option in Actions menu
- Add storage viewer in server section to show available storages
- Parse /etc/pve/storage.cfg to identify backup-capable storages
- Cache storage data for performance
- Handle backup failures gracefully (warn but allow update to proceed)
2025-11-14 10:30:27 +01:00
Michel Roegl-Brunner
f558aa4f43 Fix selectedRepositories undefined error with generic filter validation (#321)
- Create filterUtils.ts with getDefaultFilters() and mergeFiltersWithDefaults()
- Update ScriptsGrid, DownloadedScriptsTab, and FilterBar to use utility functions
- Prevents crashes when loading old saved filters missing new properties
- Future-proof: new filter properties automatically get defaults
- Fixes TypeError: can't access property 'length', selectedRepositories is undefined
2025-11-14 09:37:13 +01:00
Michel Roegl-Brunner
4ea49be97d Initial for Backup function 2025-11-14 08:44:33 +01:00
github-actions[bot]
e8c27077fd chore: add VERSION v0.4.11 (#319)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 14:45:10 +00:00
Michel Roegl-Brunner
e21d1a6eb6 Merge pull request #318 from community-scripts/feat/add_repo
feat: Add multi-repository support with repository filtering
2025-11-13 15:42:18 +01:00
Michel Roegl-Brunner
9608affcf6 Change Position of text 2025-11-13 15:37:20 +01:00
Michel Roegl-Brunner
ac23d015e0 Add helper Text 2025-11-13 15:32:18 +01:00
Michel Roegl-Brunner
5cb7bc95fa Add filter Buttons 2025-11-13 15:26:49 +01:00
Michel Roegl-Brunner
955d0e72d7 refactor: consolidate scriptDownloader to single JavaScript implementation
- Updated scriptDownloader.js to support multi-repository downloads using repository_url from script metadata
- Added getScriptDiff() and generateDiff() methods to JavaScript version
- Updated scripts.ts router to explicitly import .js version
- Removed duplicate TypeScript version (scriptDownloader.ts)
- All functionality now consolidated in single JavaScript file used by both Next.js API routes and Node.js server-side code
2025-11-13 14:31:45 +01:00
Michel Roegl-Brunner
498249a25b fix: Update import extension for repositoryService in githubJsonService 2025-11-13 14:12:44 +01:00
Michel Roegl-Brunner
72ffc5597f feat: Add multi-repository support for script synchronization
- Add Repository model to Prisma schema with migration
- Create repositoryService for managing repositories
- Add repositories API router with CRUD operations
- Update GitHubJsonService to support multiple repositories
- Update ScriptDownloaderService to use repository URL from scripts
- Add repository_url field to Script and ScriptCard types
- Add repository management UI tab to GeneralSettingsModal
- Display repository source on script cards and detail modal
- Implement repository deletion with JSON file cleanup
- Initialize default repositories (main and dev) on server startup
2025-11-13 14:12:01 +01:00
github-actions[bot]
4a00d43d82 chore: add VERSION v0.4.10.3 (#317)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 12:56:34 +00:00
459 changed files with 7249 additions and 3070 deletions

View File

@@ -1 +1 @@
0.4.10.3
0.4.12

80
package-lock.json generated
View File

@@ -55,16 +55,16 @@
"@types/bcryptjs": "^3.0.0",
"@types/better-sqlite3": "^7.6.8",
"@types/jsonwebtoken": "^9.0.10",
"@types/node": "^24.9.1",
"@types/node": "^24.10.1",
"@types/node-cron": "^3.0.11",
"@types/react": "^19.0.0",
"@types/react": "^19.2.4",
"@types/react-dom": "^19.2.2",
"@vitejs/plugin-react": "^5.1.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"eslint": "^9.38.0",
"eslint": "^9.39.1",
"eslint-config-next": "^15.1.6",
"jsdom": "^27.1.0",
"jsdom": "^27.2.0",
"postcss": "^8.5.3",
"prettier": "^3.5.3",
"prettier-plugin-tailwindcss": "^0.7.1",
@@ -1140,22 +1140,22 @@
}
},
"node_modules/@eslint/config-helpers": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz",
"integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==",
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
"integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.16.0"
"@eslint/core": "^0.17.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/core": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz",
"integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==",
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
"integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -1190,9 +1190,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.38.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz",
"integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==",
"version": "9.39.1",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
"integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1213,13 +1213,13 @@
}
},
"node_modules/@eslint/plugin-kit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz",
"integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==",
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
"integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.16.0",
"@eslint/core": "^0.17.0",
"levn": "^0.4.1"
},
"engines": {
@@ -3754,9 +3754,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "24.9.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz",
"integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==",
"version": "24.10.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
@@ -3776,9 +3776,9 @@
"license": "MIT"
},
"node_modules/@types/react": {
"version": "19.2.2",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz",
"integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==",
"version": "19.2.4",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.4.tgz",
"integrity": "sha512-tBFxBp9Nfyy5rsmefN+WXc1JeW/j2BpBHFdLZbEVfs9wn3E3NRFxwV0pJg8M1qQAexFpvz73hJXFofV0ZAu92A==",
"license": "MIT",
"dependencies": {
"csstype": "^3.0.2"
@@ -6132,20 +6132,20 @@
}
},
"node_modules/eslint": {
"version": "9.38.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz",
"integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==",
"version": "9.39.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz",
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.1",
"@eslint/config-helpers": "^0.4.1",
"@eslint/core": "^0.16.0",
"@eslint/config-helpers": "^0.4.2",
"@eslint/core": "^0.17.0",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.38.0",
"@eslint/plugin-kit": "^0.4.0",
"@eslint/js": "9.39.1",
"@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -8055,9 +8055,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8068,15 +8068,15 @@
}
},
"node_modules/jsdom": {
"version": "27.1.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.1.0.tgz",
"integrity": "sha512-Pcfm3eZ+eO4JdZCXthW9tCDT3nF4K+9dmeZ+5X39n+Kqz0DDIABRP5CAEOHRFZk8RGuC2efksTJxrjp8EXCunQ==",
"version": "27.2.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.2.0.tgz",
"integrity": "sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@acemir/cssom": "^0.9.19",
"@asamuzakjp/dom-selector": "^6.7.3",
"cssstyle": "^5.3.2",
"@acemir/cssom": "^0.9.23",
"@asamuzakjp/dom-selector": "^6.7.4",
"cssstyle": "^5.3.3",
"data-urls": "^6.0.0",
"decimal.js": "^10.6.0",
"html-encoding-sniffer": "^4.0.0",

View File

@@ -69,16 +69,16 @@
"@types/bcryptjs": "^3.0.0",
"@types/better-sqlite3": "^7.6.8",
"@types/jsonwebtoken": "^9.0.10",
"@types/node": "^24.9.1",
"@types/node": "^24.10.1",
"@types/node-cron": "^3.0.11",
"@types/react": "^19.0.0",
"@types/react": "^19.2.4",
"@types/react-dom": "^19.2.2",
"@vitejs/plugin-react": "^5.1.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"eslint": "^9.38.0",
"eslint": "^9.39.1",
"eslint-config-next": "^15.1.6",
"jsdom": "^27.1.0",
"jsdom": "^27.2.0",
"postcss": "^8.5.3",
"prettier": "^3.5.3",
"prettier-plugin-tailwindcss": "^0.7.1",

View File

@@ -0,0 +1,14 @@
-- CreateTable
CREATE TABLE "repositories" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"url" TEXT NOT NULL,
"enabled" BOOLEAN NOT NULL DEFAULT true,
"is_default" BOOLEAN NOT NULL DEFAULT false,
"is_removable" BOOLEAN NOT NULL DEFAULT true,
"priority" INTEGER NOT NULL DEFAULT 0,
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" DATETIME NOT NULL
);
-- CreateIndex
CREATE UNIQUE INDEX "repositories_url_key" ON "repositories"("url");

View File

@@ -0,0 +1,41 @@
-- CreateTable
CREATE TABLE IF NOT EXISTS "backups" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"container_id" TEXT NOT NULL,
"server_id" INTEGER NOT NULL,
"hostname" TEXT NOT NULL,
"backup_name" TEXT NOT NULL,
"backup_path" TEXT NOT NULL,
"size" BIGINT,
"created_at" DATETIME,
"storage_name" TEXT NOT NULL,
"storage_type" TEXT NOT NULL,
"discovered_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "backups_server_id_fkey" FOREIGN KEY ("server_id") REFERENCES "servers" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE IF NOT EXISTS "pbs_storage_credentials" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"server_id" INTEGER NOT NULL,
"storage_name" TEXT NOT NULL,
"pbs_ip" TEXT NOT NULL,
"pbs_datastore" TEXT NOT NULL,
"pbs_password" TEXT NOT NULL,
"pbs_fingerprint" TEXT NOT NULL,
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" DATETIME NOT NULL,
CONSTRAINT "pbs_storage_credentials_server_id_fkey" FOREIGN KEY ("server_id") REFERENCES "servers" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateIndex
CREATE INDEX IF NOT EXISTS "backups_container_id_idx" ON "backups"("container_id");
-- CreateIndex
CREATE INDEX IF NOT EXISTS "backups_server_id_idx" ON "backups"("server_id");
-- CreateIndex
CREATE INDEX IF NOT EXISTS "pbs_storage_credentials_server_id_idx" ON "pbs_storage_credentials"("server_id");
-- CreateIndex
CREATE UNIQUE INDEX IF NOT EXISTS "pbs_storage_credentials_server_id_storage_name_key" ON "pbs_storage_credentials"("server_id", "storage_name");

View File

@@ -41,6 +41,8 @@ model Server {
ssh_key_path String?
key_generated Boolean? @default(false)
installed_scripts InstalledScript[]
backups Backup[]
pbs_credentials PBSStorageCredential[]
@@map("servers")
}
@@ -95,3 +97,52 @@ model LXCConfig {
@@map("lxc_configs")
}
model Backup {
id Int @id @default(autoincrement())
container_id String
server_id Int
hostname String
backup_name String
backup_path String
size BigInt?
created_at DateTime?
storage_name String
storage_type String // 'local', 'storage', or 'pbs'
discovered_at DateTime @default(now())
server Server @relation(fields: [server_id], references: [id], onDelete: Cascade)
@@index([container_id])
@@index([server_id])
@@map("backups")
}
model PBSStorageCredential {
id Int @id @default(autoincrement())
server_id Int
storage_name String
pbs_ip String
pbs_datastore String
pbs_password String
pbs_fingerprint String
created_at DateTime @default(now())
updated_at DateTime @updatedAt
server Server @relation(fields: [server_id], references: [id], onDelete: Cascade)
@@unique([server_id, storage_name])
@@index([server_id])
@@map("pbs_storage_credentials")
}
model Repository {
id Int @id @default(autoincrement())
url String @unique
enabled Boolean @default(true)
is_default Boolean @default(false)
is_removable Boolean @default(true)
priority Int @default(0)
created_at DateTime @default(now())
updated_at DateTime @updatedAt
@@map("repositories")
}

10
restore.log Normal file
View File

@@ -0,0 +1,10 @@
Starting restore...
Reading container configuration...
Stopping container...
Destroying container...
Logging into PBS...
Downloading backup from PBS...
Packing backup folder...
Restoring container...
Cleaning up temporary files...
Restore completed successfully

View File

@@ -60,7 +60,7 @@ root_check() {
}
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
# Supported: Proxmox VE 8.0.x 8.9.x and 9.0 (NOT 9.1+)
# Supported: Proxmox VE 8.0.x 8.9.x, 9.0 and 9.1
pve_check() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -76,12 +76,12 @@ pve_check() {
return 0
fi
# Check for Proxmox VE 9.x: allow ONLY 9.0
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
local MINOR="${BASH_REMATCH[1]}"
if ((MINOR != 0)); then
msg_error "This version of Proxmox VE is not yet supported."
msg_error "Supported: Proxmox VE version 9.0"
if ((MINOR < 0 || MINOR > 1)); then
msg_error "This version of Proxmox VE is not supported."
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 1
fi
return 0
@@ -89,7 +89,7 @@ pve_check() {
# All other unsupported versions
msg_error "This version of Proxmox VE is not supported."
msg_error "Supported versions: Proxmox VE 8.0 8.x or 9.0"
msg_error "Supported versions: Proxmox VE 8.0 8.x or 9.0 9.1"
exit 1
}
@@ -1323,9 +1323,9 @@ EOF'
msg_ok "Customized LXC Container"
if [ "$var_os" == "alpine" ]; then
FUNCTIONS_FILE_PATH="$(cat "$CORE_DIR/core.func" && echo && cat "$CORE_DIR/tools.func" && echo && cat "$CORE_DIR/alpine-install.func")"
FUNCTIONS_FILE_PATH="$(cat "$CORE_DIR/core.func" && echo && cat "$CORE_DIR/tools.func" && echo && cat "$CORE_DIR/api.func" && echo && cat "$CORE_DIR/alpine-install.func")"
else
FUNCTIONS_FILE_PATH="$(cat "$CORE_DIR/core.func" && echo && cat "$CORE_DIR/tools.func" && echo && cat "$CORE_DIR/install.func")"
FUNCTIONS_FILE_PATH="$(cat "$CORE_DIR/core.func" && echo && cat "$CORE_DIR/tools.func" && echo && cat "$CORE_DIR/api.func" && echo && cat "$CORE_DIR/install.func")"
fi
FUNCTIONS_FILE="/tmp/functions.sh"

View File

@@ -1,44 +0,0 @@
{
"name": "2FAuth",
"slug": "2fauth",
"categories": [
6
],
"date_created": "2024-12-20",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://docs.2fauth.app/",
"website": "https://2fauth.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/2fauth.webp",
"config_path": "cat /opt/2fauth/.env",
"description": "2FAuth is a web based self-hosted alternative to One Time Passcode (OTP) generators like Google Authenticator, designed for both mobile and desktop. It aims to ease you perform your 2FA authentication steps whatever the device you handle, with a clean and suitable interface.",
"install_methods": [
{
"type": "default",
"script": "ct/2fauth.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Database credentials: `cat ~/2FAuth.creds`",
"type": "info"
},
{
"text": "The very first account created is automatically set up as an administrator account.",
"type": "info"
}
]
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -48,5 +48,6 @@
"text": "You can execute the ip tool manually with `iptag-run`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -44,5 +44,6 @@
"text": "The script only works in Debian/Ubuntu, not in Alpine!",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "Execute within the Proxmox host shell",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -47,5 +47,6 @@
"text": "AdGuard Home can only be updated via the user interface.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "Use `cat ~/adventurelog.creds` to see login credentials.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Resource and network settings are adjustable post LXC creation.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -42,5 +42,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -47,5 +47,6 @@
"text": "The default credentials are located in `/opt/tinyauth/credentials.txt`.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "To Update Alpine: `apk -U upgrade`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Show Login Credentials: `cat CouchDB.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "guacadmin",
"password": "guacadmin"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Configuration file is not created at install time. Example is at: `https://cwiki.apache.org/confluence/display/TIKA/TikaServer+in+Tika+2.x`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "User can select which Adoptium JDK should be used for the selected Tomcat version (9, 10.1 or 11). ",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "archivebox",
"password": "helper-scripts.com"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "doesnt work with lvm and lvmthin disks!",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Within the LXC console, run `cat rpc.secret` to display the rpc-secret. Copy this token and paste it into the Aria2 RPC Secret Token box within the AriaNG Settings. Then, click the reload AriaNG button.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "During installation, you will have to input your domain (ex. domain.com). Authelia will use auth.domain.com",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "admin",
"password": "admin123"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "for private SSL setup visit: `https://github.com/babybuddy/babybuddy/blob/master/docs/setup/ssl.md`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"type": "info",
"text": "`cat ~/.ssh/id_ed25519.pub` to view ssh public key. This key is used to authenticate with sftp targets. You can add this key on the sftp server."
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "Admin",
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "After install enable the option \"Use Redis cache\" on the settings page.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],
@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -47,5 +47,6 @@
"text": "During installation you will be asked to enter your TMDB API key, if you wanna use it. Make sure you have it ready.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Starting Booklore (Web UI) may take up to 2 minutes after a restart or fresh installation.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Bookstack works only with static ip. If you Change the IP of your LXC, you Need to edit the .env File `nano /opt/bookstack/.env`",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -55,5 +55,6 @@
"text": "if you need an external module run: `xcaddy build --with github.com/caddy-dns/cloudflare`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Login Credentials : `cat ~/checkmk.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Execute within the Proxmox shell",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Execute within the Proxmox shell",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "To update the configuration edit `/etc/systemd/system/cloudflare-ddns.service`. After edit please restart with `systemctl restart cloudflare-ddns`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "With an option to configure cloudflared as a DNS-over-HTTPS (DoH) proxy",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "After Installation: Register your user -> Login -> Dashboard -> Accept Primary URL.",
"type": "warn"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -33,8 +33,13 @@
},
"notes": [
{
"text": "Set a root password if using autologin. This will be the Cockpit password.`sudo passwd root`",
"text": "Set a root password if using autologin. This will be the Cockpit password. To set root password run `sudo passwd root`",
"type": "info"
},
{
"text": "If you plan on using 45Drives extension with NFS, you must setup LXC as privileged. Some features of 45Drives don't work on Debian 13, so Debian 12 must be used.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -38,5 +38,6 @@
"text": "Execute within an existing LXC Console",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "admin",
"password": "admin"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "change secrets file /opt/configarr/secrets.yml",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Complete setup via the web interface at http://<container-ip>:3000. Create and secure the admin account immediately.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Execute within the Proxmox shell or in LXC",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -37,5 +37,6 @@
"type": "info",
"text": "The file `/etc/sysconfig/CosmosCloud` is optional. If you need custom settings, you can create it yourself."
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Show password: `cat ~/crafty-controller.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-lxcs-cron.sh)\" -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -28,13 +28,14 @@
}
],
"default_credentials": {
"username": null,
"password": null
"username": "admin",
"password": "admin"
},
"notes": [
{
"text": "Primary and Worker Private Keys Must Match in the config file",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "After the installation cross-seed will fail to start with an empty configuration. To fix this, edit the config file to properly configure cross-seed, then restart by running `systemctl restart cross-seed`.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Execute within an existing LXC Console. Debian only!",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "After installation finishes, `systemctl status cryptpad.service` to get token URL which you can use to create admin account",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -44,5 +44,6 @@
"text": "If you use Cloud-init, checkout after installation: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "After installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/836´ for useful Debian commands",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": "deluge"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -41,5 +41,6 @@
"text": "This Script works on amd64 and arm64 Architecture.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -55,5 +55,6 @@
"text": "Options to Install Portainer and/or Docker Compose V2",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -40,5 +40,6 @@
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Use `cat ~/docmost.creds` to see database credentials.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": "helper-scripts@local.com",
"password": "helper-scripts"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Database credentials: `cat ~/dolibarr.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "FTP server credentials: `cat ~/ftp.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Admin password and database encryption key: `cat ~/duplicati.creds`",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -44,5 +44,6 @@
"type": "info",
"text": "For bridges Installation methods (WhatsApp, Signal, Discord, etc.), see: ´https://docs.mau.fi/bridges/go/setup.html´"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "Setup-Steps: Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker.",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "To configure evcc, type `cd /etc` followed by `evcc configure` in the evcc LXC shell",
"type": "info"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -44,5 +44,6 @@
"text": "Stopped containers will be started temporarily to run the command, then shut down again.",
"type": "warning"
}
]
}
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -31,5 +31,6 @@
"username": null,
"password": null
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -36,5 +36,6 @@
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -43,5 +43,6 @@
"username": "admin",
"password": "helper-scripts.com"
},
"notes": []
"notes": [],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

View File

@@ -48,5 +48,6 @@
"text": "Execute within an existing LXC Console",
"type": "warning"
}
]
],
"repository_url": "https://github.com/community-scripts/ProxmoxVE"
}

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