Skip to content

🏑 A complete DIY personal cloud solution using an old laptop, Linux Mint XFCE, and Nextcloud. πŸ”§ Features power-optimized server setup, mobile sync via KDE Connect, and external storage integration. πŸ“ Built to solve real-world phone storage issues and achieve full LAN-based file hosting.

License

Notifications You must be signed in to change notification settings

Stavan1234/home-cloud-nextcloud-linux-mint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

☁️ Personal Home Cloud Server (DIY) Using Nextcloud + Linux Mint XFCE

πŸš€ Turned an old Lenovo G550 laptop (with a broken screen) into a fully functional home-based personal cloud server using Linux Mint XFCE and Nextcloud.
🌍 Accessible over local Wi-Fi and ready for DuckDNS-based global access.


🧠 Problem Statement

Family members often face storage issues on their phones, and cloud services like Google Drive have limitations or privacy concerns. The goal was to repurpose an old, low-spec laptop into a self-hosted, reliable, and secure cloud server β€” accessible from both mobile and desktop, and usable even without a working built-in display.


🎯 Objectives

  • Build a 24/7 file and media cloud server on old hardware
  • Enable mobile-to-server file sync (like Google Photos/Drive)
  • Make the server remotely accessible (via DuckDNS and port forwarding)
  • Prevent system sleep or shutdown on lid-close
  • Showcase full-stack integration using Linux, Web UI, mobile, and network config

πŸ’» Hardware Used

Component Specification
Laptop Lenovo G550 (Core2Duo, 3GB RAM, 320GB HDD)
Screen Broken β€” relied on HDMI external display
Network Wi-Fi LAN (router with port forwarding)
Clients Android phone, Dell laptop (secondary machine)

🧰 Software Stack

Layer Technology
OS Linux Mint XFCE 22.1
Server App Nextcloud (Snap version)
Mobile Bridge KDE Connect (Android ↔ Linux sync)
DNS DuckDNS (Dynamic Public Domain)
Sleep Control Caffeine + XFCE Power Config + systemd
Access Protocols HTTP, WebDAV, Web UI, local mount

πŸ”§ Step-by-Step Setup Guide

1. πŸ§‘β€πŸ’» Install Linux Mint XFCE on Old Laptop

  • Created a bootable USB using another PC (Mintstick)
  • Booted Linux Mint Live session via HDMI (since screen was broken)
  • Installed OS to internal HDD
  • Set up persistent external monitor using xrandr and ~/.xprofile

2. πŸ”Œ Prevent Sleep, Lid Suspend, Screensaver Lock

photo_2025-07-01_16-21-49

  • Edited /etc/systemd/logind.conf:
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
IdleAction=ignore

photo_2025-07-01_16-21-49 (2)

Disabled screensaver:

xfce4-screensaver-preferences
xfce4-power-manager-settings

photo_2025-07-01_16-21-49 (3) photo_2025-07-01_16-21-49 (4)

  • Added caffeine & to auto-start session to prevent sleep

3. ☁️ Install and Run Nextcloud Snap Server

sudo apt update
sudo apt install snapd
sudo snap install nextcloud

Screenshot from 2025-07-01 15-47-07 photo_2025-07-01_16-21-50

πŸ“‚ Exposing Local Folders to Nextcloud

Since Snap version can't access /home, we moved files to /media/.

sudo mkdir /media/nextcloud-data
sudo cp -rv ~/Videos/. /media/nextcloud-data/
sudo cp -rv ~/Documents/. /media/nextcloud-documents/

Then configured them via:

Nextcloud Admin β†’ Settings β†’ External Storage Set type to: Local Path: /media/nextcloud-data and /media/nextcloud-documents

Screenshot from 2025-07-01 15-53-58

βœ… Successfully browsed these folders on both mobile and web interface.

About

🏑 A complete DIY personal cloud solution using an old laptop, Linux Mint XFCE, and Nextcloud. πŸ”§ Features power-optimized server setup, mobile sync via KDE Connect, and external storage integration. πŸ“ Built to solve real-world phone storage issues and achieve full LAN-based file hosting.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published