Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rnd:projects:homecloud [2023-07-11 22:16] – created asdf | rnd:projects:homecloud [2024-02-20 00:40] (current) – asdf | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Home cloud server ====== | ====== Home cloud server ====== | ||
- | ====== Background | + | ===== Background ===== |
We have for years desired a self-hosted solution to unify our fragmented data collections in one centralized location. This was the major impetus behind [[.:wtfs]], for example. Ideally, we wanted a system that was: | We have for years desired a self-hosted solution to unify our fragmented data collections in one centralized location. This was the major impetus behind [[.:wtfs]], for example. Ideally, we wanted a system that was: | ||
Line 12: | Line 12: | ||
We happened upon our current solution quite by accident while reading 2600. In an article titled "5G Hotspots and Tinc" | We happened upon our current solution quite by accident while reading 2600. In an article titled "5G Hotspots and Tinc" | ||
- | ====== Deployment | + | ===== Deployment ===== |
- | ===== Tinc ===== | + | ==== Tinc ==== |
We began the deployment with tinc since we, like the 2600 author, had no control over port forwarding at the installation location. Unfortunately, | We began the deployment with tinc since we, like the 2600 author, had no control over port forwarding at the installation location. Unfortunately, | ||
- | ===== Nextcloud ===== | + | By far the most painful part of setting tinc up is distributing the key files. Every node on the network needs to have the public key of every other node, even if they' |
- | As has been the trend with our recent server operation, we opted to install Nextcloud within | + | |
- | ===== Nginx ===== | + | ==== Nextcloud |
+ | As has been the trend with our recent server operation, we opted to install Nextcloud within [[:Docker]] using the instructions at [[gh> | ||
+ | Since the server itself is located on our home LAN, we wanted to be able to access it using a local address whenever possible. Nextcloud has a config option called '' | ||
+ | |||
+ | ==== Nginx ==== | ||
+ | The Nextcloud admin guide' | ||
+ | |||
+ | <code nginx> | ||
+ | # replace www.example.com throughout with the actual domain | ||
+ | server { | ||
+ | server_name www.example.com; | ||
+ | access_log / | ||
+ | error_log / | ||
+ | | ||
+ | client_max_body_size 100M; | ||
+ | | ||
+ | # redirect http connections to https | ||
+ | error_page 497 =301 https:// | ||
+ | | ||
+ | location / { | ||
+ | proxy_set_header | ||
+ | proxy_set_header | ||
+ | proxy_set_header | ||
+ | proxy_set_header | ||
+ | proxy_pass | ||
+ | proxy_read_timeout | ||
+ | } | ||
+ | | ||
+ | listen [::]:8080 ssl ipv6only=on; | ||
+ | listen 8080 ssl; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Results ===== | ||
+ | Once configured properly, operation has been very smooth. The user experience is exactly what one would expect from a cloud storage service. Media streaming worked right out of the box, and calendar syncing to Android((Though we will not cover it in detail here, we use DAVx for bidirectional syncing. It's a set-and-forget app that allows the phone to interact with the Nextcloud calendars as though they were native.)) was easy enough to set up. Navigation (including local access) does come with a noticeable lag, most likely due to hardware limitations. On the whole, however, we are very satisfied with the final product. | ||
+ | |||
+ | ===== Future work ===== | ||
+ | As of this writing, our Docker data is all stored on a single external hard drive mounted at ''/ | ||
+ | |||
+ | {{tag> |