Deploying NextCloud AIO

I get excited when I hear or read the phrase, de-google-fi. Maybe even de-icloud-ify. Either way NextCloud is an open-source and often self-hosted Collaboration Platform. It’s got a wide range of features but the most noteable is the File Sync feature. You install an app on your Mobile Phone, tell it what Albums to back up, and tada! You can auto-upload all of your Images, Videos, and Contacts to a server of your choosing. For my friends and family, that is my storage server.

Process Notes

Setup was actually a bit of a pain, but its all good now. Until recently, I haven’t played with NextCloud in well over 2 years and thats a decade in code development. Eventually figured out I needed to trash most of my setup knowledge. Then I had to work with my new-ish ISP to get around their ‘Smart Firewalls’. Okay the hard part is done… Now I will generally outline my setup process.

  • Setup Dynamic DNS with No-IP.
  • Create a CNAME record pointing to my No-IP domain.
  • Open ports 80/TCP and 443/TCP & UDP.
  • Setup Reverse Proxy, I used Caddy.
  • Create dedicated VDEV in TrueNAS Scale.
  • Create NFS accounts for NextCloud containers.
  • Tweak my Docker-Compose file to match my requirements.
  • Performed inital setup following the official guide.
  • Secure admin and user accounts.
  • Setup RSYNC job to Cloud Object Storage.

Below you will find my docker-compose.yml file. You will notice that I have passed in a Memory Limit, Upload Limit, and Timeout Limit but they are the default values. This will allow me to make changes in the future quite a bit easier.

sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0 \
--env NEXTCLOUD_MAX_TIME=3600 \
--env NEXTCLOUD_MEMORY_LIMIT=4096M \
--env NEXTCLOUD_UPLOAD_LIMIT=10G \
--env NEXTCLOUD_DATADIR="/path/to/share" \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest

References

2024

Javascript Cat!

how-to add oneko.js to the minimal-mistakes jekyll template.

Back to top ↑

2023

Ditching WordPress

Method of Procedure for migrating from WordPress to plain HTML.

Mom Said Redefine Success

In High School I had one dream that stands out. Own a Porsche by the time I was 26. Looking back, I have no idea where this dream came from; because I was ra...

Back to top ↑

2022

Back to top ↑

2021

Back to top ↑