Comment to 'Sharing between 2 servers for storage. I am quickly running out ...'
  • Guidance on Moving Media Files to CDN / External Storage @LeonidS @Andrey Yasko and the other unacms team members.

    We are exploring options to move our media files (uploads, user content, assets) off the local VPS storage into a CDN-style or external storage solution. The goal is to reduce disk usage on our current KVM VPS instances while keeping performance and reliability high.

    We’d appreciate guidance on the following points:

    1. Recommended Approach:
    • Should we consider object storage (S3-compatible services like MinIO, Backblaze, or AWS S3) integrated with UNA? (Could be a bit to late, but who knows)
    • Is there native UNA support for external storage or CDN offloading for media files, or would this require custom development/plugins?
    1. Integration Considerations:
    • What is the best practice for serving media files externally while maintaining URLs, permissions, and access control?
    • How do we handle existing media migration so that current uploads remain available without breaking existing links?
    1. Performance / Caching:
    • Do you recommend pairing the storage solution with a CDN for fast global access?
    • Are there UNA configurations to automatically serve files via a CDN?
    1. Minimal Downtime:
    • We aim to move files with minimal disruption to the platform. Any advice on migration strategy that avoids downtime would be very helpful.

    Our setup: multiple KVM8 VPS instances at Hostinger, with growing user uploads quickly consuming available storage.

    We look forward to your suggestions and best practices for safely offloading media to a CDN or object storage backend.

    Now, I know many of you will reply in conjunction with previous responses, but just to cover all angles and yes, let the response come from the architect themselves...

    Thank you for your guidance and input..unacms team etc..

    • Well, there is already a CDN guide and a complete manual published by the UNA team:

      1. https://unacms.com/wiki/global-settings
      2. https://github.com/unacms/UNA/wiki/Remote-Storage

      I recommend keeping a copy on a local cloud storage server. Mount that folder on your UNA compute cloud server as /una/storage, and then integrate your CDN solution so that files are delivered from there onward.

      Do not rely on the local storage folder directly on the UNA application server in production this can significantly slow down the system. That setup is only practical for testing, not for a live environment.

      For production, you should ideally run at least three separate cloud servers: one for the UNA application, one for storage, and ideally a third one dedicated to databases. For testing purposes, however, it’s fine to run everything on a single server.

      It’s not recommended to run UNA on a single VPS or even on a single dedicated server. In fact, running separate VPS instances for each application still introduces multiple points of failure.

      Instead, you should rely on cloud infrastructure or dedicated server clusters. A proper production system should have at least three servers in a cluster in order to minimize failure risks and ensure redundancy.

      Any production system without redundancy is destined to fail, it’s not a question of if, but when.