From a98e8c02d08b9ecb1b288a1c88b18a204cd90cbb Mon Sep 17 00:00:00 2001 From: Simon L Date: Tue, 18 Apr 2023 22:41:02 +0200 Subject: [PATCH 1/7] add additional notes to the first domain input Signed-off-by: Simon L --- php/templates/containers.twig | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index 893d2d65..9cba0e27 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -93,8 +93,14 @@ {% if skip_domain_validation == false %} Make sure that this server is reachable on Port 443 and you've correctly set up the DNS config for the domain that you enter.

- If you have a dynamic IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

- Hint: If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following this documentation.

+
+ Click here for further hints
+ If you should not have a domain yet, you can get one for free e.g. from duckduckdns.org and others.

+ If you have a dynamic IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

+ If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow this documentation.

+ If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.

+ Hint: If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following this documentation. +


{% endif %}

Restore former AIO instance from backup

From 4f7ee99782e5fad2209134bb4c63e8597be144a1 Mon Sep 17 00:00:00 2001 From: Simon L Date: Wed, 19 Apr 2023 18:28:58 +0200 Subject: [PATCH 2/7] add hint regarding RPs Signed-off-by: Simon L --- php/templates/containers.twig | 1 + 1 file changed, 1 insertion(+) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index 9cba0e27..b7a1e363 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -99,6 +99,7 @@ If you have a dynamic IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow this documentation.

If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.

+ If you try to install AIO behind a Reverse Proxy (like Apache, Nginx and else), and you run into issues getting your domain accepted, see this documentation for how to debug things.

Hint: If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following this documentation.

{% endif %} From 38c95d14d2b3f0d9d350386d8c35b85777328c37 Mon Sep 17 00:00:00 2001 From: Simon L Date: Wed, 19 Apr 2023 18:44:04 +0200 Subject: [PATCH 3/7] make descriptions more explicit Signed-off-by: Simon L --- php/templates/containers.twig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index b7a1e363..9e7b19b4 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -92,11 +92,11 @@ {% if skip_domain_validation == false %} - Make sure that this server is reachable on Port 443 and you've correctly set up the DNS config for the domain that you enter.

+ Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and the AAAA record to your public ipv6-address).

Click here for further hints
If you should not have a domain yet, you can get one for free e.g. from duckduckdns.org and others.

- If you have a dynamic IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

+ If you have a dynamic public IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow this documentation.

If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.

If you try to install AIO behind a Reverse Proxy (like Apache, Nginx and else), and you run into issues getting your domain accepted, see this documentation for how to debug things.

@@ -528,9 +528,9 @@
{% endif %} {% if is_talk_enabled == true %} -

+

{% else %} -

+

{% endif %} {% if is_onlyoffice_enabled == true %}
From b77427b3cf38e3ca329242dcd947a3a836805453 Mon Sep 17 00:00:00 2001 From: Simon L Date: Mon, 24 Apr 2023 13:08:36 +0200 Subject: [PATCH 4/7] improve dns record hint Signed-off-by: Simon L --- php/templates/containers.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index 9e7b19b4..93f0b125 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -92,7 +92,7 @@ {% if skip_domain_validation == false %} - Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and the AAAA record to your public ipv6-address).

+ Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record if of course also possible).

Click here for further hints
If you should not have a domain yet, you can get one for free e.g. from duckduckdns.org and others.

From d908244ef06303c5658ffa36ee6468a6465bdd2b Mon Sep 17 00:00:00 2001 From: Simon L Date: Mon, 24 Apr 2023 13:09:10 +0200 Subject: [PATCH 5/7] fix typo Signed-off-by: Simon L --- php/templates/containers.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index 93f0b125..e112c571 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -528,9 +528,9 @@
{% endif %} {% if is_talk_enabled == true %} -

+

{% else %} -

+

{% endif %} {% if is_onlyoffice_enabled == true %}
From 5efcff80feed3756bffbba65cf50032436b6074c Mon Sep 17 00:00:00 2001 From: Simon L Date: Mon, 24 Apr 2023 13:26:41 +0200 Subject: [PATCH 6/7] add a note on aio's operation mode Signed-off-by: Simon L --- php/public/index.php | 1 + php/templates/containers.twig | 13 ++++++++++--- readme.md | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/php/public/index.php b/php/public/index.php index be87258d..b07dab6f 100644 --- a/php/public/index.php +++ b/php/public/index.php @@ -79,6 +79,7 @@ $app->get('/containers', function (Request $request, Response $response, array $ $view->addExtension(new \AIO\Twig\ClassExtension()); return $view->render($response, 'containers.twig', [ 'domain' => $configurationManager->GetDomain(), + 'apache_port' => $configurationManager->GetApachePort(), 'borg_backup_host_location' => $configurationManager->GetBorgBackupHostLocation(), 'nextcloud_password' => $configurationManager->GetAndGenerateSecret('NEXTCLOUD_PASSWORD'), 'containers' => (new \AIO\ContainerDefinitionFetcher($container->get(\AIO\Data\ConfigurationManager::class), $container))->FetchDefinition(), diff --git a/php/templates/containers.twig b/php/templates/containers.twig index e112c571..edffecde 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -81,7 +81,12 @@ {% if borg_backup_host_location == '' and borg_restore_password == '' %} Nextcloud AIO stands for Nextcloud All In One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.

New AIO instance

- Please type in the domain that will be used for Nextcloud if you want to create a new instance:

+ {% if apache_port == '443' %} + AIO is currently in "normal" mode which means that it cannot be installed behind a web server or reverse proxy (like Apache, Nginx and else) because it does the TLS proxying itself. If you If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else), see the reverse proxy documentation.

+ {% else %} + AIO is currently in "reverse proxy" mode which means that it can be installed behind a web server or reverse proxy (like Apache Nginx and else) and does not do the TLS proxying itself.

+ {% endif %} + Please type in the domain into the input field below that will be used for Nextcloud in order to create a new AIO instance.

{% if skip_domain_validation == true %} Please note: The domain validation is disabled so any domain will be accepted here! So make sure that you do not make a typo here as you will not be able to change it afterwards!

{% endif %} @@ -92,14 +97,16 @@ {% if skip_domain_validation == false %} - Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record if of course also possible).

+ Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record if of course also possible). You should see hints on what went wrong if your domain does not get accepted in the top right corner.

Click here for further hints
If you should not have a domain yet, you can get one for free e.g. from duckduckdns.org and others.

If you have a dynamic public IP-address, you can use e.g. DDclient with a compatible domain provider for DNS updates.

If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow this documentation.

If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.

- If you try to install AIO behind a Reverse Proxy (like Apache, Nginx and else), and you run into issues getting your domain accepted, see this documentation for how to debug things.

+ {% if apache_port != '443' %} + If you run into issues getting your domain accepted, see these steps for how to debug things.

+ {% endif %} Hint: If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following this documentation.


{% endif %} diff --git a/readme.md b/readme.md index 4882ed38..0d680c35 100644 --- a/readme.md +++ b/readme.md @@ -279,7 +279,7 @@ If your Nextcloud is running and you are logged in as admin in your Nextcloud, y **⚠️ Please note:** Editing the configuration.json manually and making a mistake may break your instance so please create a backup first! If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually using `sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"`, subsitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.
-If you are running AIO behind a reverse proxy, you need to obviously also change the domain in your reverse proxy config. +If you are running AIO behind a web server or reverse proxy (like Apache, Nginx and else), you need to obviously also change the domain in your reverse proxy config. ### How to properly reset the instance? If something goes unexpected routes during the initial installation, you might want to reset the AIO installation to be able to start from scratch. From a3cf552cf9dae3e23965ded0ab0c3e7a80dbb950 Mon Sep 17 00:00:00 2001 From: Simon L Date: Mon, 24 Apr 2023 13:31:03 +0200 Subject: [PATCH 7/7] fix typo Signed-off-by: Simon L --- php/templates/containers.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/templates/containers.twig b/php/templates/containers.twig index edffecde..ed42340a 100644 --- a/php/templates/containers.twig +++ b/php/templates/containers.twig @@ -82,7 +82,7 @@ Nextcloud AIO stands for Nextcloud All In One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.

New AIO instance

{% if apache_port == '443' %} - AIO is currently in "normal" mode which means that it cannot be installed behind a web server or reverse proxy (like Apache, Nginx and else) because it does the TLS proxying itself. If you If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else), see the reverse proxy documentation.

+ AIO is currently in "normal" mode which means that it cannot be installed behind a web server or reverse proxy (like Apache, Nginx and else) because it does the TLS proxying itself. If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else), see the reverse proxy documentation.

{% else %} AIO is currently in "reverse proxy" mode which means that it can be installed behind a web server or reverse proxy (like Apache Nginx and else) and does not do the TLS proxying itself.

{% endif %}