mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-10-08 22:47:10 +08:00
Merge branch 'nextcloud:main' into main
This commit is contained in:
commit
79d4ce1436
6 changed files with 92 additions and 35 deletions
|
@ -194,7 +194,7 @@ It is set to '$APACHE_IP_BINDING'."
|
|||
fi
|
||||
fi
|
||||
if [ -n "$APACHE_ADDITIONAL_NETWORK" ]; then
|
||||
if ! echo "$APACHE_ADDITIONAL_NETWORK" | grep -q "^[a-zA-Z0-9_-]\+$"; then
|
||||
if ! echo "$APACHE_ADDITIONAL_NETWORK" | grep -q "^[a-zA-Z0-9._-]\+$"; then
|
||||
print_red "You've set APACHE_ADDITIONAL_NETWORK but not to an allowed value.
|
||||
It needs to be a string with letters, numbers, hyphens and underscores.
|
||||
It is set to '$APACHE_ADDITIONAL_NETWORK'."
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
|
||||
|
||||
There are basically three ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO:
|
||||
There are basically three ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO (if you ran AIO on the former installation already, you can follow [these steps](https://github.com/nextcloud/all-in-one#how-to-migrate-from-aio-to-aio)):
|
||||
|
||||
1. Migrate only the files which is the easiest way (this excludes all calendar data for example)
|
||||
1. Migrate the files and the database which is much more complicated (and doesn't work on former snap installations)
|
||||
|
|
12
php/composer.lock
generated
12
php/composer.lock
generated
|
@ -2814,16 +2814,16 @@
|
|||
},
|
||||
{
|
||||
"name": "spatie/array-to-xml",
|
||||
"version": "3.3.0",
|
||||
"version": "3.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/array-to-xml.git",
|
||||
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876"
|
||||
"reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876",
|
||||
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876",
|
||||
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
|
||||
"reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2866,7 +2866,7 @@
|
|||
"xml"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/spatie/array-to-xml/tree/3.3.0"
|
||||
"source": "https://github.com/spatie/array-to-xml/tree/3.4.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -2878,7 +2878,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-01T10:20:27+00:00"
|
||||
"time": "2024-12-16T12:45:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sserbin/twig-linter",
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
<div class="container">
|
||||
<main>
|
||||
<h1>Nextcloud AIO v10.1.1</h1>
|
||||
<h1>Nextcloud AIO v10.2.0</h1>
|
||||
|
||||
{# Add 2nd tab warning #}
|
||||
<script type="text/javascript" src="second-tab-warning.js"></script>
|
||||
|
|
24
readme.md
24
readme.md
|
@ -434,6 +434,30 @@ Backed up will get all important data of your Nextcloud AIO instance like the da
|
|||
#### How to adjust borgs retention policy?
|
||||
The built-in borg-based backup solution has by default a retention policy of `--keep-within=7d --keep-weekly=4 --keep-monthly=6`. See https://borgbackup.readthedocs.io/en/stable/usage/prune.html for what these values mean. You can adjust the retention policy by providing `--env BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. ⚠️ Please make sure that this value is valid, otherwise backup pruning will bug out!
|
||||
|
||||
#### How to migrate from AIO to AIO?
|
||||
If you have the borg backup feature enabled, you can copy it over to the new host and restore from the backup. This guide assumes the new installation data dir will be on `/mnt/datadir`, you can adjust the steps if it's elsewhere.
|
||||
|
||||
1. Set the DNS entry to 60 seconds TTL if applicable
|
||||
1. On your current installation, use the AIO interface to:
|
||||
1. Update AIO and all containers
|
||||
1. Stop all containers (from now on, your cloud is down)
|
||||
1. Create a current borg backup
|
||||
1. Note the path where the backups are stored and the encryption password
|
||||
1. Navigate to the backup folder
|
||||
1. Create archive of the backup so it's easier to copy: `tar -czvf borg.tar.gz borg`
|
||||
1. Copy the archive over to the new host: `cp borg.tar.gz user@new.host:/mnt`. Make sure to replace `user` with your actual user and `new.host` with the IP or domain of the actual host. You can also use another way to copy the archive.
|
||||
1. Switch to the new host
|
||||
1. Go to the folder you put the backup archive and extract it with `tar -xf borg.tar.gz`
|
||||
1. Follow the installation guide to create a new aio instance, but do not start the containers yet (the `docker run` or `docker compose up -d` command)
|
||||
1. Change the DNS entry to the new host's IP
|
||||
1. Configure your reverse proxy if you use one
|
||||
1. Start the AIO container and open the new AIO interface in your browser
|
||||
1. Make sure to save the newly generated passphrase and enter it in the next step
|
||||
1. Select the "Restore former AIO instance from backup" option and enter the encryption password from the old backup and the path in which the extracted `borg` folder lies in (without the borg part) and hit `Submit location and password`
|
||||
1. Choose the latest backup in the dropdown and hit `Restore selected backup`
|
||||
1. Wait until the backup is restored
|
||||
1. Start the containers in the AIO interface
|
||||
|
||||
#### Are remote borg backups supported?
|
||||
Backing up directly to a remote borg repository is supported. This avoids having to store a local copy of your backups, supports append-only borg keys to counter ransomware and allows using the AIO interface to manage your backups.
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ backend Nextcloud
|
|||
|
||||
</details>
|
||||
|
||||
### Nginx, Freenginx, Openresty
|
||||
### Nginx, Freenginx, Openresty, Angie
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -344,24 +344,37 @@ server {
|
|||
if ($scheme = "http") {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
if ($http_x_forwarded_proto = "http") {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
listen 443 ssl http2; # for nginx versions below v1.25.1
|
||||
listen [::]:443 ssl http2; # for nginx versions below v1.25.1 - comment to disable IPv6
|
||||
|
||||
# listen 443 ssl; # for nginx v1.25.1+
|
||||
# listen [::]:443 ssl; # for nginx v1.25.1+ - keep comment to disable IPv6
|
||||
# http2 on; # uncomment to enable HTTP/2 - supported on nginx v1.25.1+
|
||||
|
||||
# http2 on; # uncomment to enable HTTP/2 - supported on nginx v1.25.1+
|
||||
# http3 on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# quic_retry on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# add_header Alt-Svc 'h3=":443"; ma=86400'; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# listen 443 quic reuseport; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+ - please remove "reuseport" if there is already another quic listener on port 443 with enabled reuseport
|
||||
# listen [::]:443 quic reuseport; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+ - please remove "reuseport" if there is already another quic listener on port 443 with enabled reuseport - keep comment to disable IPv6
|
||||
# http3 on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# quic_gso on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# quic_retry on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
# quic_bpf on; # improves HTTP/3 / QUIC - supported on nginx v1.25.0+, if nginx runs as a docker container you need to give it privileged permission to use this option
|
||||
# add_header Alt-Svc 'h3=":443"; ma=86400'; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
|
||||
|
||||
proxy_buffering off;
|
||||
proxy_request_buffering off;
|
||||
|
||||
client_max_body_size 0;
|
||||
client_body_buffer_size 512k;
|
||||
http3_stream_buffer_size 512k;
|
||||
proxy_read_timeout 86400s;
|
||||
|
||||
server_name <your-nc-domain>;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:11000$request_uri;
|
||||
proxy_pass http://127.0.0.1:11000$request_uri; # adjust to match APACHE_PORT and APACHE_IP_BINDING
|
||||
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
|
@ -369,10 +382,7 @@ server {
|
|||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
|
||||
proxy_request_buffering off;
|
||||
proxy_read_timeout 86400s;
|
||||
client_max_body_size 0;
|
||||
proxy_set_header Early-Data $ssl_early_data;
|
||||
|
||||
# Websocket
|
||||
proxy_http_version 1.1;
|
||||
|
@ -386,23 +396,18 @@ server {
|
|||
ssl_certificate /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem; # managed by certbot on host machine
|
||||
ssl_certificate_key /etc/letsencrypt/live/<your-nc-domain>/privkey.pem; # managed by certbot on host machine
|
||||
|
||||
ssl_dhparam /etc/dhparam; # curl -L https://ssl-config.mozilla.org/ffdhe2048.txt -o /etc/dhparam
|
||||
|
||||
ssl_early_data on;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
|
||||
ssl_session_tickets off;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
|
||||
ssl_ecdh_curve x25519:x448:secp521r1:secp384r1:secp256r1;
|
||||
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
# Optional settings:
|
||||
|
||||
# OCSP stapling
|
||||
# ssl_stapling on;
|
||||
# ssl_stapling_verify on;
|
||||
# ssl_trusted_certificate /etc/letsencrypt/live/<your-nc-domain>/chain.pem;
|
||||
|
||||
# replace with the IP address of your resolver
|
||||
# resolver 127.0.0.1; # needed for oscp stapling: e.g. use 94.140.15.15 for adguard / 1.1.1.1 for cloudflared or 8.8.8.8 for google - you can use the same nameserver as listed in your /etc/resolv.conf file
|
||||
ssl_conf_command Options PrioritizeChaCha;
|
||||
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256;
|
||||
}
|
||||
|
||||
```
|
||||
|
@ -411,6 +416,33 @@ server {
|
|||
|
||||
</details>
|
||||
|
||||
### NPMplus (Fork of Nginx-Proxy-Manager - NPM)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>click here to expand</summary>
|
||||
|
||||
⚠️ **Please note:** This is not needed when running NPMplus as a community container.
|
||||
|
||||
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`. <br>
|
||||
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. <br>
|
||||
Note: this will cause that a non root user can bind privileged ports.
|
||||
|
||||
Second, see these screenshots for a working config:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
⚠️ **Please note:** Nextcloud will complain that X-XXS-Protection is set to the wrong value, this is intended by NPMplus. <br>
|
||||
⚠️ **Please note:** look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
|
||||
|
||||
</details>
|
||||
|
||||
### Nginx-Proxy-Manager - NPM
|
||||
|
||||
<details>
|
||||
|
@ -419,8 +451,9 @@ server {
|
|||
|
||||
**Hint:** You may have a look at [this guide](https://github.com/nextcloud/all-in-one/discussions/588#discussioncomment-3040493) for a more complete but possibly oudated example.
|
||||
|
||||
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`.
|
||||
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. Note: this will cause that non root users can bind privileged ports.
|
||||
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`. <br>
|
||||
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. <br>
|
||||
Note: this will cause that a non root user can bind privileged ports.
|
||||
|
||||
Second, see these screenshots for a working config:
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue