Przeglądaj źródła

Merge branch 'main' into 1.9.0-release

Jaap Marcus 1 rok temu
rodzic
commit
bbcd3c004b

+ 3 - 0
bin/v-update-sys-ip

@@ -48,6 +48,9 @@ for nic in $nics; do
 	if [ -z "$ips" ]; then
 		ips="$nic_ipv4s"
 	else
+		if [ -z "$nic_ipv4s" ]; then
+			break
+		fi
 		ips="$ips $nic_ipv4s"
 	fi
 done

+ 31 - 0
docs/docs/server-administration/backup-restore.md

@@ -158,6 +158,37 @@ For Blackblaze use
 v-add-backup-host 'rclone' 'b2' '' '' 'hestiacp'
 ```
 
+## Setting up Incremental Backups
+
+Enable Incremental Backups in the user packages.
+
+### Using Rclone
+
+Since 1.9 we include Rclone by default in Hestia Installation. Run `rclone config` as the `root` user and then select the option `n`. Follow the instruction on the screen, then save when completed.
+
+Run the following command:
+
+```bash
+v-add-backup-host-restic 'rclone:target:/folder/' '30' '8' '5' '3' '-1'
+```
+
+```bash
+v-backup-users-restic
+```
+
+or
+
+```bash
+v-backup-user-restic username
+```
+
+::warning
+A new restic repository is initiated on the first time you run this command. An encryption key is generated at the same time in /usr/local/hestia/data/users/{users}/restic.conf. Please make sure to backup this file somewhere incase the server gets comprimised or the user gets deleted. Without this "secret" key we don't provide any method to restore the user data. This is the reason why we alway advice to keep the orignal backup still working.
+
+### Other methods
+
+Other methods as long Restic supports it are supported how ever as we run the command as root we are not able to provide keys / password and so on before hand. This is why Rclone is in favor for other methods!
+
 ## How to change default backup folder
 
 For security reasons, symlinks are not allowed. To change the default backup folder, you can do the following:

+ 1 - 1
docs/docs/server-administration/rest-api.md

@@ -8,7 +8,7 @@ With the release of Hestia v1.6.0, we have introduced a more advanced API system
 
 ## I’m unable to connect to the API
 
-With the release of Hestia v1.4.0, we have decided the security needed to be tightened. If you want to connect to the API from a remote server, you will first need to whitelist its IP address. To add multiple addresses, separate them with a new line.
+With the release of Hestia v1.4.0, we have decided the security needed to be tightened. If you want to connect to the API from a remote server, you will first need to whitelist its IP address. To add multiple addresses, separate them with a new line. To bypass the ip filtering, remove any existing ips and write : `allow-all`
 
 ## Can I disable the API?
 

+ 17 - 17
package-lock.json

@@ -41,7 +41,7 @@
 				"prettier-plugin-nginx": "^1.0.3",
 				"prettier-plugin-sh": "^0.14.0",
 				"prettier-plugin-sql": "^0.18.1",
-				"stylelint": "^16.14.0",
+				"stylelint": "^16.14.1",
 				"stylelint-config-standard": "^36.0.1",
 				"vitepress": "^1.6.3",
 				"vitest": "^2.1.8",
@@ -2779,13 +2779,13 @@
 			}
 		},
 		"node_modules/cacheable": {
-			"version": "1.8.7",
-			"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.7.tgz",
-			"integrity": "sha512-AbfG7dAuYNjYxFUtL1lAqmlWdxczCJ47w7cFjhGcnGnUdwSo6VgmSojfoW3tUI12HUkgTJ5kqj78yyq6TsFtlg==",
+			"version": "1.8.8",
+			"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.8.tgz",
+			"integrity": "sha512-OE1/jlarWxROUIpd0qGBSKFLkNsotY8pt4GeiVErUYh/NUeTNrT+SBksUgllQv4m6a0W/VZsLuiHb88maavqEw==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
-				"hookified": "^1.6.0",
+				"hookified": "^1.7.0",
 				"keyv": "^5.2.3"
 			}
 		},
@@ -9273,9 +9273,9 @@
 			}
 		},
 		"node_modules/stylelint": {
-			"version": "16.14.0",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.14.0.tgz",
-			"integrity": "sha512-orePw2dKxzXC0hd1VmxrDBqgf1KUV9DYsZY4guKLE9XcQD7m0BxVnWMaoQqMNsQIG14MyyTHf6zoajvOnDra8g==",
+			"version": "16.14.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.14.1.tgz",
+			"integrity": "sha512-oqCL7AC3786oTax35T/nuLL8p2C3k/8rHKAooezrPGRvUX0wX+qqs5kMWh5YYT4PHQgVDobHT4tw55WgpYG6Sw==",
 			"dev": true,
 			"funding": [
 				{
@@ -9399,25 +9399,25 @@
 			"license": "MIT"
 		},
 		"node_modules/stylelint/node_modules/file-entry-cache": {
-			"version": "10.0.5",
-			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.5.tgz",
-			"integrity": "sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA==",
+			"version": "10.0.6",
+			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.6.tgz",
+			"integrity": "sha512-0wvv16mVo9nN0Md3k7DMjgAPKG/TY4F/gYMBVb/wMThFRJvzrpaqBFqF6km9wf8QfYTN+mNg5aeaBLfy8k35uA==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
-				"flat-cache": "^6.1.5"
+				"flat-cache": "^6.1.6"
 			}
 		},
 		"node_modules/stylelint/node_modules/flat-cache": {
-			"version": "6.1.5",
-			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.5.tgz",
-			"integrity": "sha512-QR+2kN38f8nMfiIQ1LHYjuDEmZNZVjxuxY+HufbS3BW0EX01Q5OnH7iduOYRutmgiXb797HAKcXUeXrvRjjgSQ==",
+			"version": "6.1.6",
+			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.6.tgz",
+			"integrity": "sha512-F+CKgSwp0pzLx67u+Zy1aCueVWFAHWbXepvXlZ+bWVTaASbm5SyCnSJ80Fp1ePEmS57wU+Bf6cx6525qtMZ4lQ==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
-				"cacheable": "^1.8.7",
+				"cacheable": "^1.8.8",
 				"flatted": "^3.3.2",
-				"hookified": "^1.6.0"
+				"hookified": "^1.7.0"
 			}
 		},
 		"node_modules/stylelint/node_modules/globby": {

+ 1 - 1
package.json

@@ -50,7 +50,7 @@
 		"prettier-plugin-nginx": "^1.0.3",
 		"prettier-plugin-sh": "^0.14.0",
 		"prettier-plugin-sql": "^0.18.1",
-		"stylelint": "^16.14.0",
+		"stylelint": "^16.14.1",
 		"stylelint-config-standard": "^36.0.1",
 		"vitepress": "^1.6.3",
 		"vitest": "^2.1.8",

+ 4 - 4
src/deb/web-terminal/package-lock.json

@@ -12,14 +12,14 @@
 				"ws": "^8.18.0"
 			},
 			"devDependencies": {
-				"@types/node": "^22.10.10",
+				"@types/node": "^22.13.0",
 				"@types/ws": "^8.5.14"
 			}
 		},
 		"node_modules/@types/node": {
-			"version": "22.10.10",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz",
-			"integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==",
+			"version": "22.13.0",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz",
+			"integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {

+ 1 - 1
src/deb/web-terminal/package.json

@@ -12,6 +12,6 @@
 	},
 	"devDependencies": {
 		"@types/ws": "^8.5.14",
-		"@types/node": "^22.10.10"
+		"@types/node": "^22.13.0"
 	}
 }