Set Up A Personal Cloud With Nextcloud On Ubuntu
A personal cloud gives you control over files, calendars, contacts, photos, and shared documents without relying entirely on a commercial storage provider. Nextcloud is one of the most complete open-source platforms for this purpose, and Ubuntu provides a stable base that is easy to maintain at home or on a small server.
The simplest setup uses an Ubuntu machine and the Nextcloud Snap package. This approach bundles many of the components that would otherwise need separate configuration, including the web server, database, PHP runtime, and background services. You can begin with access inside your home network, then add secure remote access once the installation is working properly.
Choose The Right Ubuntu Machine
A personal cloud does not require a powerful computer. An older desktop, refurbished mini PC, or unused laptop with at least 4 GB of RAM can handle a small household installation. A solid-state drive makes the interface more responsive, while a separate hard drive can provide additional capacity for photos, videos, and backups.
Ubuntu Server 24.04 LTS is a sensible choice because it receives long-term security updates and uses fewer resources than a full graphical desktop. Ubuntu Desktop also works if you prefer to manage the machine locally with a monitor and keyboard. For a small family, a dual-core processor and 8 GB of memory are usually sufficient, although larger libraries and several simultaneous users benefit from faster hardware.
Australian buyers can find suitable refurbished business mini PCs through local computer retailers and second-hand marketplaces. A compact Lenovo ThinkCentre or HP ProDesk often uses less electricity than a full tower, which matters when the server remains powered throughout the year. If you are placing it in a garage or spare room in Brisbane or Perth, allow for airflow during hot summer days.
Give the server a predictable local address. You can create a DHCP reservation in your router, which is generally easier than manually assigning a static address in Ubuntu. Record the address before installation, since you will use it to open the Nextcloud setup page from another computer.
Install Nextcloud With The Snap Package
After installing Ubuntu, update the system and install Nextcloud from the official Snap store:
sudo apt update
sudo apt full-upgrade -y
sudo snap install nextcloud
The installation may take a few minutes. Once it finishes, create the first administrator account from the terminal:
sudo nextcloud.manual-install admin StrongPasswordHere
Replace admin and StrongPasswordHere with your own values. Use a long, unique password rather than one reused for email, banking, or other services. The command creates the initial administrator, but you can add ordinary accounts later through the web interface.
Open a browser on your local network and visit the server address, such as http://192.168.1.50. Sign in with the account you created. The dashboard provides access to Files, Photos, Calendar, Contacts, Notes, and optional applications from the built-in marketplace.
Set the correct time zone before scheduling tasks. For most of Australia, the appropriate setting will be something such as Australia/Sydney, Australia/Melbourne, or Australia/Brisbane, depending on your location and daylight-saving rules:
sudo timedatectl set-timezone Australia/Sydney
Using the right zone prevents confusion when calendar events, photo timestamps, and automated jobs are displayed.
Configure Storage And User Accounts
Nextcloud stores uploaded files in its data directory, which the Snap installation manages for you. The default location is usually under /var/snap/nextcloud/common/nextcloud/data. Avoid editing files directly inside this directory, because manual changes can confuse the application’s database and file scanner.
For a modest installation, the system drive may be enough. If you plan to upload a large photo archive or family video collection, connect a separate storage device and mount it permanently through /etc/fstab. Nextcloud can also use external storage, including a second local disk, but check ownership and permissions carefully before adding it to the application.
Create a separate account for every regular user instead of sharing the administrator login. From the Users page, you can assign storage quotas, groups, and optional email addresses. A 100 GB quota may suit documents and phone photos, while a household storing video will need a much larger disk and a clear retention policy.
Enable two-factor authentication for administrator accounts. An authenticator application is usually more reliable than text messages, particularly when travelling or when mobile reception is limited. Store the recovery codes in a password manager or another safe location. The strongest server setup can still be undermined by a compromised account.
Add Secure Access Outside Home
Local access is a good first milestone, but reaching the server from outside your home requires careful planning. You generally need a public hostname, port forwarding on your router, and HTTPS encryption. Never expose an unencrypted login page to the public internet.
First, check whether your internet provider gives you a public IPv4 address. Some Australian NBN connections use carrier-grade NAT, which prevents normal inbound port forwarding. If your provider places you behind CGNAT, ask whether a public address is available or use a VPN-based option such as Tailscale or another trusted private-access service.
If you do have a public address, register a domain or dynamic DNS hostname. The hostname should point to your home connection, even when the provider changes its IP address. Forward TCP ports 80 and 443 from the router to the Ubuntu server only when you understand the security implications and have confirmed the server is patched.
Add the hostname as a trusted domain:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=cloud.example.com
Replace the example hostname with yours. The Snap package can request a free Let’s Encrypt certificate:
sudo nextcloud.enable-https lets-encrypt
Follow the prompts carefully and provide an email address for certificate notices. After HTTPS is enabled, use https://cloud.example.com for every connection. A VPN is often preferable for a small household because it avoids exposing Nextcloud directly to the internet.
Connect Phones And Desktop Computers
Nextcloud becomes much more useful when it synchronises with your everyday devices. Install the official desktop client on Ubuntu, Windows, or macOS, then choose which folders should sync. Selectively syncing only work documents or current projects prevents a small laptop drive from filling with the entire cloud library.
The Android and iOS applications can automatically upload photos. Configure uploads to use Wi-Fi if your mobile plan has limited data, and decide whether videos should be included. On an Australian mobile plan, automatic uploads over a weak regional connection may take a long time, so the initial transfer is best performed at home.
Calendar and contact synchronisation can use standard CalDAV and CardDAV connections. This lets you keep appointments and address books under your control while using familiar phone applications. Share calendars with family members through Nextcloud rather than passing around exported files that quickly become outdated.
The Files interface also supports public links, but treat them as temporary invitations rather than permanent publishing tools. Set passwords and expiry dates for sensitive documents. For browser-based services unrelated to your private files, use separate accounts and browser profiles; for example, keeping access to a progressive jackpot site isolated from your administrator session reduces the chance that an unfamiliar third-party site is mixed with privileged browsing.
Improve Performance And Reliability
The default installation is suitable for many households, but a few adjustments improve responsiveness. Keep Ubuntu and the Snap package updated, and check available disk space regularly:
sudo snap refresh
df -h
Nextcloud’s background jobs should run through the system cron rather than relying on web requests. The Snap package usually configures this automatically, but you can inspect the setting from Administration Settings. Background jobs handle previews, notifications, file cleanup, and other tasks that would otherwise make the web interface feel slow.
Creating image previews can consume considerable storage and processing power. If you have a large photo collection, allow preview generation to run overnight. A server with limited memory may perform better when preview sizes and enabled file types are kept under control.
Use the Administration Overview page to review warnings about missing PHP modules, security headers, database maintenance, and background jobs. These notices are valuable because they identify problems before they become visible to other users. Keep the server on a wired Ethernet connection where possible; Wi-Fi interruptions are especially inconvenient during large uploads.
Build A Backup And Maintenance Routine
A cloud server is not a backup simply because it stores files in one place. If the disk fails, ransomware reaches the server, or an accidental deletion synchronises everywhere, the original data may be lost. Follow a versioned backup approach with at least one copy stored separately from the Ubuntu machine.
Back up both the Nextcloud data and its database. The Snap package includes a useful backup command:
sudo nextcloud.export
This creates an export that can be copied to another disk or server. For more control, schedule regular database and file backups with a tool such as BorgBackup or Restic. Keep at least one encrypted copy disconnected from the server when it is not being updated.
Test restoration rather than assuming the backup works. Restore a small folder to another directory, verify that files open correctly, and document the steps needed to rebuild the service. A backup that has never been tested is only a possibility, not a dependable recovery plan.
Consider Australian conditions when choosing backup locations. A USB drive stored beside the server could be lost in the same burglary, storm, or electrical event, so keep another encrypted copy at a different address or with a reputable cloud storage provider. If your home internet uses a metered or slower regional service, schedule transfers overnight to avoid affecting normal use.
Keep The Server Private And Current
Security is an ongoing process rather than a single installation step. Use a firewall, disable services you do not need, and avoid exposing SSH directly to the internet unless you have configured key-based authentication and additional restrictions. Ubuntu’s uncomplicated firewall can start with:
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
If you use a VPN-only setup, you may not need to allow public web ports at all. Review router port-forwarding rules every few months and remove old entries. Check the Nextcloud security scanner and Ubuntu’s update notices, especially after adding marketplace applications.
Install third-party Nextcloud apps cautiously. Each extension adds functionality and may introduce extra maintenance requirements. Begin with the core Files, Calendar, Contacts, and Photos features, then add tools only when you understand their permissions and update history.
Finally, write down the server address, administrator recovery method, backup location, and renewal details for your domain. Keep that document offline and protected. A clear record helps a household recover quickly if the usual administrator is unavailable.
A Nextcloud installation is most successful when it remains simple: a supported Ubuntu release, reliable storage, strong account protection, encrypted remote access, and tested backups. Start with local access, confirm that files and mobile uploads work, then expand carefully. The key point to remember is that a personal cloud gives you control only when the server, accounts, updates, and backups are all managed as part of the same system.