From cf20944eaedf1a1c6d3f64a8a5100a889bdffa70 Mon Sep 17 00:00:00 2001 From: coolnsx Date: Thu, 3 Jul 2025 17:35:20 +0530 Subject: [PATCH] Feat: Server Setup Nextcloud --- content/anime.md | 8 ++--- content/blog/server-setup-nextcloud.md | 41 +++++++++++++++++++++++++ static/assets/nextcloud_logo.png | Bin 0 -> 30477 bytes 3 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 content/blog/server-setup-nextcloud.md create mode 100644 static/assets/nextcloud_logo.png diff --git a/content/anime.md b/content/anime.md index 8006993..539e00c 100644 --- a/content/anime.md +++ b/content/anime.md @@ -11,10 +11,10 @@ updated = 2025-06-23 heading=["Name", "Current Season", "Status"], rows=[ ["Gintama", "2", "Watching"], - ["Grand Blue", "2", "Airing in Summer 2025 (jul-sept)"], - ["Seishun Buta Yarou wa Santa Claus no Yume wo Minai (Bunny girl senpai sequel)", "2", "Airing in Summer 2025 (jul-sept)"], - ["Sono Bisque Doll wa Koi wo Suru", "2", "Airing in Summer 2025 (jul-sept)"], - ["Kanojo, Okarishimasu", "4", "Airing in Summer 2025 (jul-sept)"], + ["Grand Blue", "2", "Watching"], + ["Seishun Buta Yarou wa Santa Claus no Yume wo Minai (Bunny girl senpai sequel)", "2", "Watching"], + ["Sono Bisque Doll wa Koi wo Suru", "2", "Watching"], + ["Kanojo, Okarishimasu", "4", "Watching"], ["One Punch Man", "3", "Airing in Fall 2025 (oct-dec)"], ["Spy x Family", "3", "Airing in Fall 2025 (oct-dec)"], ["Boku no Hero Academia FINAL SEASON", "8", "Airing in Fall 2025 (oct-dec)"], diff --git a/content/blog/server-setup-nextcloud.md b/content/blog/server-setup-nextcloud.md new file mode 100644 index 0000000..f728243 --- /dev/null +++ b/content/blog/server-setup-nextcloud.md @@ -0,0 +1,41 @@ ++++ +title = "Server Setup: Nextcloud" +date = 2025-07-03 +extra.image = "assets/nextcloud_logo.png" +description = "A Bloated yet Feature-Rich Cloud" ++++ + +{% paragraph(class="m-8") %} +Nextcloud is an exceptionally feature-rich, free and open-source self-hosted cloud solution. It originated as a fork of OwnCloud after the latter shifted towards a commercial model. This change prompted several developers to leave OwnCloud and establish Nextcloud. Today, Nextcloud's development has surpassed that of OwnCloud, evolving into an independent cloud storage provider rather than just a fork. +{% end %} + +{% paragraph(class="m-8") %} +Nextcloud offers cloud storage at its core and is packed with a variety of features. It includes WebDAV for enhanced support in local file managers, as well as CardDAV and CalDAV for synchronising contacts and calendars. Users can easily share files, and it also provides a full web-based alternative to Microsoft Office (Collabora) with collaborative features like live editing. +{% end %} + +{% paragraph(class="m-8") %} +Additionally, Nextcloud has an app store that allows users to extend its functionality beyond the built-in features, offering applications for media conversion, AI-generated photos, a notes app, and a chat and video conferencing app called Talk. This creates a comprehensive ecosystem designed to compete with major software companies like Microsoft, Google, and Apple, all while keeping your data under your control. +{% end %} + +{% paragraph(class="m-8") %} +I installed Nextcloud as the first application when I began self-hosting on a Raspberry Pi 4. I connected an external 2 TB USB hard drive and mounted it as external storage within the Nextcloud container, ensuring that the HDD’s idle delay would not affect performance. However, the container itself was running on an SD card. I also installed apps like Notes and Secret from the Nextcloud App Store. To access my cloud storage and enable automatic photo backups, I downloaded the Nextcloud app on my Android device, and it was working flawlessly. I enhanced the Notes app by using a third-party app on Android, which offered more features than the official version. +{% end %} + +{{ subheading(text="Installation") }} + +{% paragraph(class="m-8") %} +There are many ways to install Nextcloud. I started with Docker way and then at a later stage moved to podman due to several reasons (will write a blog on this soon). The 2 repos below will help you decide which way you want to go. +{% end %} + +- {{ link(href="https://github.com/CoolnsX/selfhost_podman/tree/master/nextcloud", text="Podman Way") }} +- {{ link(href="https://github.com/CoolnsX/selfhost/tree/main/nextcloud", text="Docker Way") }} + +{{ subheading(text="Conclusion") }} + +{% paragraph(class="m-8") %} +Nextcloud is a comprehensive cloud suite application, but this extensive feature set has also contributed to its bloat. Many people blame the underlying language, PHP, for this issue. However, the same criticism can be applied to the C language. It is the responsibility of software engineers to optimise their code rather than rely solely on compiler optimisations. Similarly, in PHP, the quality of the code directly affects the performance of the final product. PHP is a web-first language that is easy to learn, which encourages beginners to contribute to the code after grasping the basics. Most essential functions are built-in, so you rarely need to use an external library. +{% end %} + +{% paragraph(class="m-8") %} +Recently, I moved to {{ link(text="Opencloud",href="https://opencloud.eu/") }} as it's new in town and is a fork of OwnCloud Infinite Scaling (OCIS). Its backend is written in GO, Frontend in TypeScript, and the underlying WebDAV is in PHP. +{% end %} diff --git a/static/assets/nextcloud_logo.png b/static/assets/nextcloud_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c60a7552c34ca4f57bc70026d7a9fe48b8ba1b33 GIT binary patch literal 30477 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