The supported way to run current ownCloud Classic 11 on your own Linux VPS is a Docker-based deployment. Put the official ownCloud container stack on a 64-bit server, use MariaDB or MySQL (or PostgreSQL) and Redis, terminate HTTPS at a reverse proxy, configure trusted domains and proxies, keep command-line access for occ, and back up every persistent volume. A tiny test server can start with 512 MB of RAM, but 1 GB or more is recommended; ownCloud’s small-workgroup guidance is considerably higher—at least two CPU cores and 16 GB of RAM—when several people and substantial storage are involved.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What you are building
A production ownCloud VPS has separate responsibilities even when they run on one machine:
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Application and web service: the official ownCloud Docker image, which includes PHP 8 and Apache for Classic 11.
- Database: MariaDB/MySQL or PostgreSQL for accounts, shares, file metadata, and application state.
- Redis: a fast service used by the stack for locking and other coordination tasks.
- Persistent storage: volumes or host mounts for user files, configuration, and the database.
- Reverse proxy: the public HTTPS endpoint. The ownCloud container itself does not handle SSL.
- Operations: cron, command-line
occaccess, monitoring, backups, and a tested restore process.
For a small installation, these services can share one VPS. As usage grows, ownCloud’s deployment guidance moves toward redundant application servers, a database cluster, shared storage, and load balancing.
Choose VPS capacity before installing
Size the server for users, simultaneous activity, file growth, previews, background jobs, and the database—not just for the first login. ownCloud’s published figures describe different situations, so do not treat the smallest number as a universal production target.
#1 Best Overall
- Entry-level NAS Personal Storage:UGREEN NAS DH2300 is your first and best NAS made easy. It is designed for beginners who want a simple, private way to store videos, photos and personal files, which is intuitive for users moving from cloud storage or external drives and move away from scattered date across devices. This entry-level NAS 2-bay perfect for personal entertainment, photo storage, and easy data backup (doesn't support Docker or virtual machines).
- Set Your Devices Free, Expand Your Digital World: This unified storage hub supports massive capacity up to 64TB.*Storage drives not included. Stop Deleting, Start Storing. You can store 22 million 3MB images, or 2 million 30MB songs, or 43K 1.5GB movies or 67 million 1MB documents! UGREEN NAS is a better way to free up storage across all your devices such as phones, computers, tablets and also does automatic backups across devices regardless of the operating system—Window, iOS, Android or macOS.
- The Smarter Long-term Way to Store: Unlike cloud storage with recurring monthly fees, a UGREEN NAS enclosure requires only a one-time purchase for long-term use. For example, you only need to pay $459.98 for a NAS, while for cloud storage, you need to pay $719.88 per year, $2,159.64 for 3 years, $3,599.40 for 5 years. You will save $6,738.82 over 10 years with UGREEN NAS! *NAS cost based on DH2300 + 12TB HDD; cloud cost based on 12TB plan (e.g. $59.99/month).
- Blazing Speed, Minimal Power: Equipped with a high-performance processor, 1GbE port, and 4GB RAM on Board, this NAS handles multiple tasks with ease. File transfers reach up to 125MB/s—a 1GB file takes only 8 seconds. Don't let slow clouds hold you back; they often need over 100 seconds for the same task. The difference is clear.
- Let AI Better Organize Your Memories: UGREEN NAS uses AI to tag faces, locations, texts, and objects—so you can effortlessly find any photo by searching for who or what's in it in seconds. It also automatically finds and deletes similar or duplicate photo, backs up live photos and allows you to share them with your friends or family with just one tap. Everything stays effortlessly organized, powered by intelligent tagging and recognition.
| Situation | Guidance | How to interpret it |
|---|---|---|
| Docker host minimum | 512 MB RAM | Minimum stated in the current ownCloud Classic 11 system requirements; it leaves little headroom for a database, Redis, the proxy, and operating-system services. |
| Docker host recommendation | 1 GB RAM or more | A more realistic floor for a very small, lightly used installation. |
| Small workgroup | At least 2 CPU cores and 16 GB RAM | ownCloud’s deployment recommendation for a workgroup rather than a minimal evaluation server. |
| Small-workgroup scenario | Up to 150 users; 100 GB to 10 TB of data | Use these as planning boundaries from ownCloud’s scenario, then add capacity for growth and backups. |
Check the host before you commit
- Use a 64-bit Linux VPS on the x86_64/amd64 architecture.
- Confirm that Docker Engine 20.10 or newer and Docker Compose v2 or newer are available for the operating system.
- Choose SSD-backed storage with enough free space for current files, database growth, temporary uploads, logs, and at least one usable backup set.
- Verify that you can open the HTTPS port at the VPS firewall and that you have root or equivalent administrative access.
- Confirm that the provider permits long-running Docker services, inbound web traffic, scheduled jobs, and the storage size you need.
Do not size disk to the initial upload. ownCloud’s own guidance is blunt: the amount of stored data only grows, so plan ahead. Keep backups on separate storage; a snapshot on the same disk is not a disaster-recovery plan.
Install the supported Docker stack
Starting with ownCloud Classic 11, manual Linux installation is no longer supported. Install Docker Engine and the Docker Compose v2 plugin using the instructions for your Linux distribution, then verify both tools:
docker --version
docker compose version
The first command should report Docker Engine 20.10 or later, and the second should report Compose v2 or later. If your server only has the old hyphenated docker-compose command, install the current Compose plugin rather than building a new deployment around an obsolete client.
Create a dedicated project directory
sudo mkdir -p /opt/owncloud
sudo chown "$USER":"$USER" /opt/owncloud
cd /opt/owncloud
Use a directory that is included in your configuration backups. Keep the Compose file and its environment file protected; database passwords and application secrets should never be committed to a public repository or pasted into a support forum.
Start from ownCloud’s official Compose example
Use the Compose file from the ownCloud Classic 11 installation documentation. The documented stack contains an ownCloud service, MariaDB, and Redis, and publishes the web service on port 8080 in the host-side example. Keep the service names and environment-variable names from that release’s file instead of mixing snippets from unrelated versions.
Rank #2
- 【Advanced Home Data & Media Hub】For advanced home users who need phone backup, file storage, and centralized data management. Centralize family photos, 4K videos, movies, computer backups, and personal files in one place while running multiple apps for home entertainment and everyday data management. Suitable for households with growing digital libraries and multiple NAS use cases.
- 【Built for Creators, Media Servers & Advanced Apps】Powered by the Intel N100 Quad-Core CPU, 8GB DDR5 RAM, 2.5GbE networking, and dual M.2 NVMe slots, DXP2800 handles large files and heavier workloads with ease. Run Docker, virtual machines, and media server applications compatible with Plex—ideal for content creators, tech enthusiasts, and advanced home users managing 4K videos, RAW photos, personal media libraries, and multiple NAS apps.
- 【Up to 80TB for Growing Digital Libraries】 Supports up to 80TB of storage using two HDD bays and two M.2 NVMe SSD slots for family photos, movies, RAW photos, 4K videos, work files, and device backups. AI photo management supports recognition of people, objects, scenes, and locations, album organization, and duplicate photo detection. HDDs and SSDs are not included.
- 【AI-powered Home Surveillance】Turn DXP2800 into a centralized home surveillance hub by connecting compatible network cameras and storing recordings locally on your NAS. AI-powered features include Face Recognition, People Detection, and Pet Detection, helping advanced home users review important events more efficiently while managing home surveillance and personal data in one place.
- 【One data Center Across Your Devices】Keep files from desktops, laptops, phones, tablets, and other devices together instead of scattered across cloud accounts and external drives. Access, back up, organize, and share data across Windows, macOS, Android, iOS, web browsers, and compatible smart TVs—ideal for creators and advanced home users working across multiple devices.
A safe workflow is:
- Place the official Compose file in
/opt/owncloud. - Read every environment variable before starting it, especially database credentials, administrator credentials, domain values, and volume definitions.
- Replace every evaluation password and placeholder with long, unique secrets.
- Run
docker compose configto render and validate the file before creating containers. - Start the stack with
docker compose up -d. - Check container state and logs with
docker compose psanddocker compose logs --tail=100.
Do not expose the database or Redis ports publicly. They should be reachable only on the private Docker network or from explicitly permitted administration addresses. If you use the example’s host port 8080, bind it to localhost or a private interface when a reverse proxy on the same VPS will be the public entry point.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsSet the hostname and trusted domains before remote use
Before opening the service to users, choose the canonical hostname, such as cloud.example.com, and point its DNS record to the VPS. Set OWNCLOUD_DOMAIN to that hostname and set OWNCLOUD_TRUSTED_DOMAINS to the real hostnames or reachable IP addresses that users are allowed to use. Replace the example values in the official Compose environment section; do not leave evaluation domains in place.
Include every legitimate access name you intend to support, but do not add a wildcard merely to make an error disappear. A narrow trusted-domain list prevents requests using an unexpected Host header from being accepted as if they were addressed to your server.
Apply changes safely
- Edit the environment values in the project’s protected environment file or Compose configuration.
- Review the rendered configuration with
docker compose config. - Recreate only the services that need the changed environment, using
docker compose up -d. - Open the canonical hostname in a browser and verify that the setup page, login, and file upload all use that name.
If you change domains after users have started sharing links, document the old and new names and test existing share URLs. A domain change is an operational change, not just a cosmetic label.
Put a reverse proxy in front and enable HTTPS
The Docker image does not handle SSL. Place a reverse proxy such as the web server already approved for your Linux environment in front of the container. The proxy obtains and renews the certificate, accepts HTTPS connections, and forwards requests to the ownCloud service on its private or localhost-bound port.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #3
- Personal & Home Private Storage: Yxk Zero1 2-Bay NAS is your gateway to stress-free private storage. Built for beginners who crave simplicity, it brings your scattered photos, videos, and files together into one secure home hub — no tech skills needed. Say goodbye to the chaos of multiple drives and cloud subscriptions, and hello to effortless access wherever you are. This entry-level 2-bay NAS is perfect for personal entertainment, photo backup, and worry-free data protection — now with Docker support for those ready to explore more.
- One-Time Investment, Lifelong Storage Freedom: Unlike Cloud storage with its recurring subscription fees and ever-shrinking free tiers, Yxk Zero1 NAS is a one-time purchase that puts you in complete control of your data. **The Hard Drive Must Be Purchased Separately — add or replace drives as your collection grows, no monthly bills, no storage limits imposed by others, and no risk of sudden price hikes. Your NAS, your rules, forever.
- Remote Access From Any Device: Once your NAS is set up, that's all you need to remember. Browse, upload, and share files from your phone app, desktop client, or any web browser — Windows, macOS, iOS, or Android. One central hub, everywhere you go.
- Blazing 2.5GbE Speed: With 2.5GbE connectivity — 2.5x faster than standard 1GbE — your files transfer in a flash and 4K streams without buffering. Flexible RAID modes, automated backups, and snapshot recovery work quietly in the background, so your data stays safe from drive failures or accidental loss. Speed without compromise, protection without complexity.
- Your Private Cloud Shared Your Way: You own your data — all of it, 100%. Advanced encryption and granular permission controls keep your files protected whether they're stored locally or shared with family and friends. Set up dedicated spaces for each user, so everyone gets seamless access across devices while keeping personal files truly personal. Privacy isn't a feature; it's the foundation.
Reverse-proxy checklist
- Create a DNS record for the ownCloud hostname and wait until it resolves to the VPS.
- Allow inbound TCP 443 (and TCP 80 if your certificate workflow needs an HTTP challenge). Keep the application’s 8080 example port off the public internet.
- Configure the proxy’s upstream to the ownCloud container or to the host’s loopback address and port.
- Forward the original Host, scheme, and client-address headers according to the proxy’s documentation.
- Install a trusted certificate and configure automatic renewal; test renewal before relying on the service.
- Set ownCloud’s trusted-proxy configuration to the proxy’s fixed IP address or private network address.
- Repeat the login, upload, download, sharing, WebDAV, and large-file tests through the HTTPS hostname.
Trusted proxies must be explicit. If ownCloud accepts forwarding headers from arbitrary source addresses, an attacker can spoof the client IP and undermine IP-based access controls or audit trails. Permit only the address or network that actually runs your reverse proxy.
Keep the proxy and container roles clear
- The proxy owns certificates, TLS policy, HTTP-to-HTTPS redirection, and public listening sockets.
- ownCloud owns application authentication, file access, sharing rules, and trusted-domain validation.
- MariaDB/MySQL or PostgreSQL and Redis remain private services on the Docker network.
This separation also makes later scaling easier: the proxy can route to more than one application server while the database and shared storage are handled as separate tiers.
Make storage and databases persistent
Containers are replaceable; user data is not. The administrator is responsible for persistence in the container deployment. Verify that the Compose file maps durable storage for all of the following:
- the ownCloud data directory containing users’ files;
- the ownCloud configuration directory and generated application settings;
- the database data directory;
- any files or secrets required to recreate the stack, stored separately from disposable container layers.
Use a dedicated filesystem or host paths when you need to control capacity, snapshots, permissions, or backup tooling. Monitor free space and inode usage. A full filesystem can make uploads fail, prevent database writes, and leave background jobs incomplete even while containers still appear “running.”
Free tools Windows power users keep installed
One-click scans. No signup required.
Database choice
The documented example uses MariaDB, while ownCloud also supports MySQL and PostgreSQL. For a one-VPS workgroup, select one database and use the version and settings in the current official Compose example. Do not run two databases “just in case”; that adds backup and upgrade work without improving the application.
Rank #4
- Value NAS with RAID for centralized storage and backup for all your devices. Check out the LS 700 for enhanced features, cloud capabilities, macOS 26, and up to 7x faster performance than the LS 200.
- Connect the LinkStation to your router and enjoy shared network storage for your devices. The NAS is compatible with Windows and macOS*, and Buffalo's US-based support is on-hand 24/7 for installation walkthroughs. *Only for macOS 15 (Sequoia) and earlier. For macOS 26, check out our LS 700 series.
- Subscription-Free Personal Cloud – Store, back up, and manage all your videos, music, and photos and access them anytime without paying any monthly fees.
- Storage Purpose-Built for Data Security – A NAS designed to keep your data safe, the LS200 features a closed system to reduce vulnerabilities from 3rd party apps and SSL encryption for secure file transfers.
- Back Up Multiple Computers & Devices – NAS Navigator management utility and PC backup software included. NAS Navigator 2 for macOS 15 and earlier. You can set up automated backups of data on your computers.
Keep database credentials in the environment or secret mechanism used by your deployment, restrict database network access, and include the database in every backup plan. Copying only the files directory cannot restore shares, users, app settings, or file metadata reliably.
Enable cron and retain command-line access
Background jobs should run from cron rather than relying on a user opening the web interface. Schedule the method documented for your ownCloud release and confirm that it actually executes inside the container. Check the job output and ownCloud logs after the first run.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Keep shell access to the VPS and a reliable way to run occ in the ownCloud container. Without command-line access, administrative tasks such as repairs and upgrades are unavailable. A typical command pattern is:
docker compose exec --user www-data owncloud occ <command>
Use the service name and user specified by the official Compose file; if they differ, substitute those values. Common operational tasks include checking status, applying maintenance commands, repairing indexes after a documented change, and running upgrades. Read the release-specific ownCloud instructions before executing an unfamiliar command on production data.
Verify background processing
- Trigger or wait for a scheduled job and confirm a recent execution time in ownCloud’s administration area.
- Watch logs while a job runs so permission or database errors are visible.
- Check that the cron host can invoke Docker and that the command uses the intended Compose project directory.
- After a VPS reboot, confirm that containers restart and cron continues without manual intervention.
Back up a Docker ownCloud server
A usable backup covers the application’s persistent state and has a documented restore path. At minimum, protect the user-data volume, ownCloud configuration, database contents, Compose file, environment or secret records, and any reverse-proxy configuration and certificate- renewal material that your recovery process requires.
Best Value
- Your Personal Streaming Server - Build your own Netflix-style media library and stream 4K movies, shows and photos to any device without monthly fees
- Create Your Own Cloud - Store your entire photo, video and music collection; access from anywhere with fast 282 MB/s transfer speeds
- Creator-Grade Backup Solution - Protect your irreplaceable content with automated backups to cloud services, external drives and remote NAS
- Multi-Layered Data Protection - Combine RAID redundancy, automated backups and snapshot technology to prevent data loss from any cause
- Smart Home Surveillance - Support up to 30 IP cameras with AI detection, instant alerts and secure remote monitoring
Choose a backup method
| Storage layout | ownCloud guidance | Operational implication |
|---|---|---|
| Btrfs-backed storage | Btrfs snapshots can provide zero-downtime backups where appropriate. | Coordinate snapshots so application and database state are consistent, copy snapshots to separate failure domains, and periodically test a restore. |
| Other filesystems | Nightly backups with service interruption are recommended. | Schedule a maintenance window, stop or quiesce services as documented, capture files and database together, then restart and verify. |
Nightly backup outline
- Notify users of the maintenance window and stop new writes according to your release’s backup instructions.
- Record the Compose project and image versions so the restore environment is reproducible.
- Dump the database with its native database tool, preserving permissions and timestamps.
- Copy the ownCloud data and configuration volumes to separate backup storage.
- Copy the Compose file, protected environment values, proxy configuration, and a record of DNS and firewall settings.
- Start services, check logs, and perform a test login and file operation.
- Retain multiple dated generations and at least one copy outside the VPS.
Backups are not complete until a restore has succeeded. On a spare VPS or isolated directory, recreate the Docker network, restore the database, restore configuration and data, start the stack, and verify users, shares, file versions, and background jobs. Record the exact order and commands while you test; that runbook is what you will need during an outage.
Recommended Free Tools
Plan the architecture as usage grows
| Design | Suitable target | Main characteristics |
|---|---|---|
| Single VPS | Evaluation or small workgroup | OwnCloud, database, Redis, and reverse proxy share one 64-bit Linux host; simplest operations, but one host is one failure domain. |
| Stronger single machine | Small workgroup approaching the published 150-user or multi-terabyte scenario | More CPU, RAM, and expandable storage; keep database, Redis, proxy, and backup traffic within the host’s capacity. |
| Distributed deployment | Larger environments | Redundant application servers, database clustering, shared storage, and load balancing; requires coordinated networking, monitoring, failover, and restore procedures. |
Compare VPS plans on the capabilities that affect this design: Docker and Compose support, CPU and RAM headroom, disk type and expansion, database networking, Redis availability, reverse-proxy and TLS control, shell and cron access, and backup or snapshot options. A low monthly price is irrelevant if the plan cannot expand storage or run the required services.
Security and maintenance checklist
- Apply Linux, Docker, ownCloud, database, Redis, and reverse-proxy updates on a schedule.
- Use unique administrator and database passwords; store secrets with restrictive file permissions.
- Expose only the proxy’s public ports. Keep database, Redis, and the application’s internal port private.
- Use HTTPS for every user session and verify that HTTP redirects correctly.
- Limit ownCloud trusted domains and trusted proxies to values you control.
- Review administrator notifications, failed-login events, disk usage, certificate expiry, and backup status.
- Test upgrades on a copy or snapshot first, and keep a rollback path.
- Document who can access the VPS shell, the backup location, DNS, and the recovery credentials.
Troubleshoot the failures that matter
The browser shows a domain or host-header error
Check that the hostname in the browser appears in OWNCLOUD_TRUSTED_DOMAINS, that DNS points to the correct VPS, and that the proxy forwards the original Host header. Recreate the service after changing environment values and inspect logs for the rendered configuration.
HTTPS works but links or redirects use HTTP
Confirm that TLS terminates at the reverse proxy, that the proxy forwards the original scheme, and that ownCloud trusts the proxy’s source address. Do not “fix” this by trusting every proxy; add only the actual proxy IP or network.
Uploads fail or the server becomes slow
Check free disk space, inode usage, proxy and web-server request limits, database health, and available RAM. A 512 MB host can run out of memory as soon as the database, Redis, proxy, and operating system compete with the application; move toward the 1 GB recommendation or the two-core/16 GB workgroup baseline as usage demands.
Files exist on disk but are missing in the interface
Do not edit the database directly. Confirm that the data volume is mounted at the path expected by the Compose file, inspect permissions, and use the documented occ maintenance or repair procedure for your version. Restore from a known-good backup if an unauthorized filesystem change caused the inconsistency.
Containers start after a reboot but cron does not run
Verify that the scheduled job uses the correct Compose project directory and service name, that the cron user can invoke Docker, and that logs show a completed background run. A running web container does not prove that scheduled maintenance is working.
Pre-launch acceptance test
- Resolve the canonical DNS name from an external network.
- Open the site over HTTPS and confirm the certificate name and renewal mechanism.
- Sign in with a non-administrator test account.
- Upload, download, rename, delete, and restore a test file.
- Create a share and open it from a separate browser session.
- Check that database and Redis ports are not publicly reachable.
- Run an
occstatus or maintenance command through the container. - Observe a cron execution and review logs for errors.
- Complete a backup and restore test before inviting real users.
Once these checks pass, keep the Compose project, proxy configuration, backup schedule, and restore runbook under change control. Treat capacity increases, domain changes, image updates, and database migrations as planned operations rather than ad-hoc container restarts.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




