Service - storage - Nextcloud: Difference between revisions

From Irregularpedia
Jump to navigation Jump to search
Initial
 
formatting
Tag: 2017 source edit
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Return to [[server-guides|matrix-server-guide]]
= Matrix Bots and Add-Ons =


Nextcloud AIO is inspired by projects like Portainer that directly manage the docker daemon by talking to it through the docker socket. This concept allows a user to install only one container with a single command that does the heavy lifting of creating and managing all containers needed to provide a Nextcloud installation with most features included. It also makes updating a breeze and is no longer bound to the host system (and its slow updates), as everything is in containers. Additionally, it is straightforward to handle from a user perspective because a simple interface for managing your Nextcloud AIO installation is provided.
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 Usage see [[Usage - Nextcloud]]
For usage, see [[Usage - Nextcloud]]
 
== Server Setup ==
 
=== Create an Instance ===
* See [[Cloud Instance Setup#Azure|Azure Instance Setup]] for instructions.


<span id="server-set-up"></span>
=== Allow Additional Inbound Ports ===
== Server Set Up ==
* Open ports: '''3478''', '''8080'''


= Create an Instance =
=== SSH into the Server ===
== ![[Cloud Instance Setup#Azure]] ==
Follow your preferred method to establish an SSH connection.
= Allow additional inbound ports =
== 3478, 8080, ==
= SSH In to Server =
= Mount Storage persistently =
== ![[Linux Server Storage]] ==
= Set up a Server for Docker =
== ![[Linux Server Initial Setup#With Docker]] ==
= Set up Git Repo for Nextcloud All In One =


<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 nextcloud AIO repo directory
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
<ol start="10" style="list-style-type: decimal;">
</syntaxhighlight>
<li>Set up Nextcloud compose.yaml</li></ol>


<pre class="yml">version: &quot;3.8&quot;
==== 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:
      # Reverse Proxy settings
       - APACHE_PORT=11000
       - APACHE_PORT=11000
       - APACHE_IP_BINDING=127.0.0.1
       - APACHE_IP_BINDING=127.0.0.1
       - NEXTCLOUD_DATADIR=&quot;/home/user/ncdata&quot;
       - 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>
<ol start="11" style="list-style-type: decimal;">
<li>Start up compose as a service from the git repository directory</li></ol>


<syntaxhighlight lang="shell">cd $HOME/all-in-one #This is the nextcloud AIO repo directory
=== Start the Compose Service ===
sudo docker-compose up -d</syntaxhighlight>
<syntaxhighlight lang="bash">
<ol start="12" style="list-style-type: decimal;">
cd $HOME/all-in-one # This is the Nextcloud AIO repo directory
<li>Web Setup: Wait a few minutes (approx. 3-7 minutes) and go to the ip address port 8080 and prepare to wait several minutes as you set up the containers
sudo docker-compose up -d
<ol style="list-style-type: decimal;">
</syntaxhighlight>
<li>Login with provided password “Open Nextcloud AIO Login.”</li>
 
<li>Define Domain</li>
=== Web Setup ===
<li>Install the latest Nextcloud</li>
* Wait approximately 3–7 minutes, then navigate to the server's IP address on port '''8080''' in your browser. Follow these steps:
<li>Install additional add-ons</li></ol>
# Log in with the provided password (available on the "Open Nextcloud AIO Login" page).
</li>
# Define your domain.
<li>Setup Cloudflared
# Install the latest Nextcloud version.
<ol style="list-style-type: decimal;">
# Install additional add-ons as needed.
<li>![[Reverse Proxy - Cloudflared]]</li>
 
<li>On [https://one.dash.cloudflare.com/ Cloudflare]set up a tunnel using http://localhost:11000 and whatever domain or subdomain you need</li>
=== Setup Cloudflared ===
<li>Go to the Cloudflare established domain on a browser. e.g., https://nextcloud.example.com
# See [[Reverse Proxy - Cloudflared]] for instructions.
<ol style="list-style-type: decimal;">
# On [https://one.dash.cloudflare.com/ Cloudflare], set up a tunnel using `http://localhost:11000` with your chosen domain or subdomain.
<li>Username and Password will be at the top of the Mastercontainer page</li></ol>
# Visit the Cloudflare-configured domain (e.g., `https://nextcloud.example.com`):
</li></ol>
## Your username and password will be displayed at the top of the Mastercontainer page.
</li></ol>


<span id="ports-explained"></span>
== Ports Explained ==
== Ports Explained ==


<span id="inbound-rules"></span>
=== Inbound Rules ===
=== Inbound Rules: ===
The following ports must be open for incoming connections:


The following ports need to 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.


'' '''Port 8080/TCP''': This is used to access the Mastercontainer Interface internally.
[[Category:Self-hosting]]
'' '''Port 80/TCP''': This is used for HTTP redirection to Nextcloud and ACME HTTP-challenge for certificate retrieval for the Mastercontainer.
[[Category:Guides]]
'' '''Port 8443/TCP''': This is used for secure access to the Mastercontainer Interface when a valid certificate is in place.
[[Category:Server]]
'' '''Port 443/TCP''': This port is used by the Apache container for secure HTTP (HTTPS) traffic.
[[Category:Network]]
'' '''Port 443/UDP''': This port is used by the Apache container for HTTP/3 traffic, if you want to enable it.
'' '''Port 3478/TCP and 3478/UDP''': These ports are used by the Talk container’s TURN server.

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.

Github Source

For usage, see Usage - Nextcloud

Server Setup

Create an Instance

Allow Additional Inbound Ports

  • Open ports: 3478, 8080

SSH into the Server

Follow your preferred method to establish an SSH connection.

Mount Storage Persistently

Set Up a Server for Docker

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:
  1. Log in with the provided password (available on the "Open Nextcloud AIO Login" page).
  2. Define your domain.
  3. Install the latest Nextcloud version.
  4. Install additional add-ons as needed.

Setup Cloudflared

  1. See Reverse Proxy - Cloudflared for instructions.
  2. On Cloudflare, set up a tunnel using `http://localhost:11000` with your chosen domain or subdomain.
  3. Visit the Cloudflare-configured domain (e.g., `https://nextcloud.example.com`):
    1. 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.