Service - storage - Nextcloud: Difference between revisions
Initial |
formatting Tag: 2017 source edit |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
= Matrix Bots and Add-Ons = | |||
Nextcloud AIO is inspired by projects like Portainer that directly manage the | Return to [[server-guides|Matrix Server Guides]] | ||
Nextcloud AIO is inspired by projects like Portainer that directly manage the Docker daemon by interacting with it through the Docker socket. This concept allows users to install only one container with a single command, which then manages all necessary containers to provide a fully functional Nextcloud installation with most features included. This approach simplifies updates, as the environment is no longer bound to the host system and its slower update cycles. Everything operates within containers, providing a consistent and efficient experience. Additionally, a simple interface is provided for managing your Nextcloud AIO installation, making it user-friendly. | |||
[https://github.com/nextcloud/all-in-one#are-reverse-proxies-supported Github Source] | [https://github.com/nextcloud/all-in-one#are-reverse-proxies-supported Github Source] | ||
For | For usage, see [[Usage - Nextcloud]] | ||
== Server Setup == | |||
=== Create an Instance === | |||
* See [[Cloud Instance Setup#Azure|Azure Instance Setup]] for instructions. | |||
=== Allow Additional Inbound Ports === | |||
== | * Open ports: '''3478''', '''8080''' | ||
=== SSH into the Server === | |||
Follow your preferred method to establish an SSH connection. | |||
= SSH | |||
= | |||
<syntaxhighlight lang="bash">cd $HOME | === Mount Storage Persistently === | ||
* Refer to [[Linux Server Storage]] for guidance. | |||
=== Set Up a Server for Docker === | |||
* Follow [[Linux Server Initial Setup#With Docker|Linux Server Initial Setup for Docker]] for instructions. | |||
=== Set Up Git Repository for Nextcloud AIO === | |||
<syntaxhighlight lang="bash"> | |||
cd $HOME | |||
git clone https://github.com/nextcloud/all-in-one.git | git clone https://github.com/nextcloud/all-in-one.git | ||
cd $HOME/all-in-one #This is the | cd $HOME/all-in-one # This is the Nextcloud AIO repo directory | ||
mv compose.yaml compose.yaml.bk | mv compose.yaml compose.yaml.bk | ||
touch compose.yaml</syntaxhighlight | touch compose.yaml | ||
</syntaxhighlight> | |||
<pre class="yml">version: | ==== Create the `compose.yaml` File ==== | ||
<pre class="yml"> | |||
version: "3.8" | |||
volumes: | volumes: | ||
nextcloud_aio_mastercontainer: | nextcloud_aio_mastercontainer: | ||
Line 47: | Line 55: | ||
- nextcloud_network | - nextcloud_network | ||
environment: | environment: | ||
- APACHE_PORT=11000 | - APACHE_PORT=11000 | ||
- APACHE_IP_BINDING=127.0.0.1 | - APACHE_IP_BINDING=127.0.0.1 | ||
- NEXTCLOUD_DATADIR= | - NEXTCLOUD_DATADIR="/home/user/ncdata" | ||
- NEXTCLOUD_UPLOAD_LIMIT=50G | - NEXTCLOUD_UPLOAD_LIMIT=50G | ||
- NEXTCLOUD_MEMORY_LIMIT=512M | - NEXTCLOUD_MEMORY_LIMIT=512M | ||
Line 56: | Line 63: | ||
- SKIP_DOMAIN_VALIDATION=true | - SKIP_DOMAIN_VALIDATION=true | ||
</pre> | </pre> | ||
<syntaxhighlight lang=" | === Start the Compose Service === | ||
sudo docker-compose up -d</syntaxhighlight> | <syntaxhighlight lang="bash"> | ||
cd $HOME/all-in-one # This is the Nextcloud AIO repo directory | |||
sudo docker-compose up -d | |||
</syntaxhighlight> | |||
=== Web Setup === | |||
* Wait approximately 3–7 minutes, then navigate to the server's IP address on port '''8080''' in your browser. Follow these steps: | |||
# Log in with the provided password (available on the "Open Nextcloud AIO Login" page). | |||
# Define your domain. | |||
# Install the latest Nextcloud version. | |||
# Install additional add-ons as needed. | |||
=== Setup Cloudflared === | |||
# See [[Reverse Proxy - Cloudflared]] for instructions. | |||
# On [https://one.dash.cloudflare.com/ Cloudflare], set up a tunnel using `http://localhost:11000` with your chosen domain or subdomain. | |||
# Visit the Cloudflare-configured domain (e.g., `https://nextcloud.example.com`): | |||
## Your username and password will be displayed at the top of the Mastercontainer page. | |||
== Ports Explained == | == Ports Explained == | ||
=== Inbound Rules === | |||
=== Inbound Rules | The following ports must be open for incoming connections: | ||
* '''Port 8080/TCP''': Used to access the Mastercontainer interface internally. | |||
* '''Port 80/TCP''': Used for HTTP redirection to Nextcloud and ACME HTTP-challenge for certificate retrieval. | |||
* '''Port 8443/TCP''': Used for secure access to the Mastercontainer interface with a valid certificate. | |||
* '''Port 443/TCP''': Used by the Apache container for secure HTTPS traffic. | |||
* '''Port 443/UDP''': Used by the Apache container for HTTP/3 traffic, if enabled. | |||
* '''Port 3478/TCP and 3478/UDP''': Used by the Talk container’s TURN server. | |||
[[Category:Self-hosting]] | |||
[[Category:Guides]] | |||
[[Category:Server]] | |||
[[Category:Network]] | |||
Latest revision as of 03:52, 21 November 2024
Matrix Bots and Add-Ons
Return to Matrix Server Guides
Nextcloud AIO is inspired by projects like Portainer that directly manage the Docker daemon by interacting with it through the Docker socket. This concept allows users to install only one container with a single command, which then manages all necessary containers to provide a fully functional Nextcloud installation with most features included. This approach simplifies updates, as the environment is no longer bound to the host system and its slower update cycles. Everything operates within containers, providing a consistent and efficient experience. Additionally, a simple interface is provided for managing your Nextcloud AIO installation, making it user-friendly.
For usage, see Usage - Nextcloud
Server Setup
Create an Instance
- See Azure Instance Setup for instructions.
Allow Additional Inbound Ports
- Open ports: 3478, 8080
SSH into the Server
Follow your preferred method to establish an SSH connection.
Mount Storage Persistently
- Refer to Linux Server Storage for guidance.
Set Up a Server for Docker
- Follow Linux Server Initial Setup for Docker for instructions.
Set Up Git Repository for Nextcloud AIO
<syntaxhighlight lang="bash"> cd $HOME git clone https://github.com/nextcloud/all-in-one.git cd $HOME/all-in-one # This is the Nextcloud AIO repo directory mv compose.yaml compose.yaml.bk touch compose.yaml </syntaxhighlight>
Create the `compose.yaml` File
version: "3.8" volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer services: nextcloud: image: nextcloud/all-in-one:latest restart: always container_name: nextcloud-aio-mastercontainer volumes: - nextcloud_aio_mastercontainer:/mnt/docker-aio-config - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 networks: - nextcloud_network environment: - APACHE_PORT=11000 - APACHE_IP_BINDING=127.0.0.1 - NEXTCLOUD_DATADIR="/home/user/ncdata" - NEXTCLOUD_UPLOAD_LIMIT=50G - NEXTCLOUD_MEMORY_LIMIT=512M - TALK_PORT=3478 - SKIP_DOMAIN_VALIDATION=true
Start the Compose Service
<syntaxhighlight lang="bash"> cd $HOME/all-in-one # This is the Nextcloud AIO repo directory sudo docker-compose up -d </syntaxhighlight>
Web Setup
- Wait approximately 3–7 minutes, then navigate to the server's IP address on port 8080 in your browser. Follow these steps:
- Log in with the provided password (available on the "Open Nextcloud AIO Login" page).
- Define your domain.
- Install the latest Nextcloud version.
- Install additional add-ons as needed.
Setup Cloudflared
- See Reverse Proxy - Cloudflared for instructions.
- On Cloudflare, set up a tunnel using `http://localhost:11000` with your chosen domain or subdomain.
- Visit the Cloudflare-configured domain (e.g., `https://nextcloud.example.com`):
- Your username and password will be displayed at the top of the Mastercontainer page.
Ports Explained
Inbound Rules
The following ports must be open for incoming connections:
- Port 8080/TCP: Used to access the Mastercontainer interface internally.
- Port 80/TCP: Used for HTTP redirection to Nextcloud and ACME HTTP-challenge for certificate retrieval.
- Port 8443/TCP: Used for secure access to the Mastercontainer interface with a valid certificate.
- Port 443/TCP: Used by the Apache container for secure HTTPS traffic.
- Port 443/UDP: Used by the Apache container for HTTP/3 traffic, if enabled.
- Port 3478/TCP and 3478/UDP: Used by the Talk container’s TURN server.