LiquidFiles Documentation
LiquidFiles Documentation

LiquidFiles Domains

LiquidFiles has a function what we call LiquidFiles Domains. A LiquidFiles Domain is like a virtualized version of LiquidFiles in itself.

When you're running two or more LiquidFiles domains, it is like running two or more virtual machines where each virtual machine run LiquidFiles. Each LiquidFiles instance is logically separated from any other LiquidFiles domains. This means that:

  • Each Domain will have their own separate URL like https://files.x.com and https://files.y.com.
  • Each Domain will have their own users, groups, configuration, certificate, branding and so on.
  • Each Domain will require its own LiquidFiles license but you can mix and match as needed, i.e. you can have one domain with a 200 User license and another domain with a 50 User license, or whatever is required in each domain.

Should you be using LiquidFiles Domains?

Since each LiquidFiles Domain is like a running multiple virtual machines, each running a LiquidFiles virtual appliance, lets compare the two different scenarios.

Using LiquidFiles Domains

Benefits:

  • Sharing of system resources — instead of running multiple versions, you can share system resources between multiple LiquidFiles instances.
  • Simplified deployment — with each additional virtual system you add, you'll need to add local resources like assigning IP addresses and similar and in some organizations it would be easier to not having to deal with that and just add another LiquidFiles Domain.

When we built the Domain feature, we built it with the intention to support virtual hosting companies so they could add multiple virtual LiquidFiles Domains for each of their clients. If you have a low-performance use case, like a separate brand that you wish to add a few Filedrops for or similar, using LiquidFiles Domains can make a lot of sense. But if you're considering adding another Domain with a lot of potential users or with any form of performance requirement, you're likely better off in the long run if you use separate virtual systems.

Drawbacks:

  • Sharing of system resources — if performance is a consideration, you should probably not use LiquidFiles Domains. What limits performance the most in LiquidFiles systems is usually disk read/write speed or potentially network speed. By sharing resources between more users, there will be more users sharing the available network and disk performance, leading to an overall performance loss for each user.
  • Locked to sharing the same Parent Host or System — Another drawback is that you're locked in to hosting the system on the same parent host or system. If you're using multiple LiquidFiles systems as opposed to multiple LiquidFiles Domains, you can move one more more LiquidFiles virtual systems to another host with less load. With LiquidFiles Domains, all Domains always share the same parent host.
  • Technical limitations — anything related to HTTP/HTTPS is easy to seprate and having multiple URLs share the same IP address is completely transparent. But anything relating to FTP/SFTP (FTPDrops/FTPDirs) and in some ways SMTP there's no concept of virtual hosts and sharing IP address. This means:
    • FTPdrop/FTPdir names are global for that system — while you can easily have https://files.x.com/filedrop/support and https://files.y.com/filedrop/support on the same LiquidFiles system with two domains, you cannot have an FTPdrop or FTPdir account support in more than one LiquidFiles Domain across all domains.
    • Whenever someone connects using FTP, FTPs or SFTP, the system will always announce itself with the Public Hostname from the Default Domain.
    • FTPs (FTP over SSL) will always use the default domain certificate when a client connects.
    • You can have Emaildrops with the same local name support@files.x.com and support@files.y.com but whenever somone connects using SMTP, the SMTP hostname will always be files.x.com and using files.x.com's certificate (if files.x.com is the default domain).
  • Localizations are Global — if you have multiple Domains, they all share all Locales as configured in Admin → System → Locales on the default Domain. If you wanted to any language that references https://files.x.com and https://files.y.com differently, you cannot use LiquidFiles Domains.

Some Additional Considerations

Licenses & Users

Every so often we get questions along the lines of "if we have an Unlimited User License, can we use that on as many LiquidFiles Domains as we want?" And no, each LiquidFiles Domain is like its own virtual system so if you have an Unlimited User license, that's Unlimited Users on that LiquidFiles system or that LiquidFiles Domain. If you have multiple LiquidFiles domains, or multiple LiquidFiles systems, you'll need one LiquidFiles License for each Domain or system, Unlimited Users or otherwise.

Another question that pops up every so often is "if a user exist in multiple domains, will they consume licenses in each domain?" And yes, if you have a Local User with the same email address in multiple Domain, that user will consume one license in each Domain where they are configured.

Sysadmins are only available in the Default Domain. Any System Administrator will have a dropdown menu in their Admin Menubar where they can select which Domain they want to administer. It's not possible to limit Sysadmins from accessing certain domains. Any Sysadmin will have access to all LiquidFiles Domains.

System Administration is only available on the Default Domain. If you wanted to change network configuration, set the time, update Locales or anything similar, you will need to login with a Sysadmin account to the Default Domain.

In any non-default Domain, you can configure a Domain Admin that has access to more settings that what an Admin will have, but it will not have access to any Sysadmin configuration that are only available on the Default Domain.

Deployments

It's not possible to change the Default Domain. If you deploy a LiquidFiles system as https://files.x.com and another domain as https://files.y.com, it's not possible down the track to switch this and make https://files.y.com the default domain. You can let the license for https://files.x.com expire and still login with a Sysadmin account and administer https://files.y.com but you will receive email notifications that the license has expired.

It's not possible to import or export Domains. If you have https://files.x.com and another domain as https://files.y.com, it's not possible to export https://files.y.com into a standalone system. It's also not possible if https://files.y.com is currently a standalone system to import it to https://files.x.com as another domain. All backups of the LiquidFiles system are system wide so will cover all Domains.

Configuring Domains

With all those considerations out of the way, here's how you actually add another Domain in LiquidFiles.

Listing Domains

If you go to Admin → System → Domains, you'll see the following (imagine for now that Files2 hasn't been added). You can add a Domain by clicking on the Add Domain button.

Adding Domains

When you've clicked on the Add Domain button, you'll see the following screen with the following options.

Option Description
Name A Friendly Name for this Domain. Will be used for instance in the dropdown in the admin menu to identify this domain.
Public Hostname The Public Hostname for this Domain. What happens is that if a request matches this domain, i.e. https://files.liquidf2.com if the Public Hostname is files.liquid2.com then LiquidFiles will use this domain. If the request matches anything (like https://10.20.30.40) the default domain will be used.
License Key Each LiquidFiles Domain requires its own License. You'll need to add a license key for this domain. You cannot use the same License Key as the Default Domain regardless of setting. If you just want to play around with the interface, you can skip adding a License Key and you'll see how the Domain feature works but you won't be able to send any files in this Domain until you've added a valid license key.
Domain Quota The sum file size of all files in this Domain cannot exceed this Quota.

Selecting Domains

When you at least one additional domain configured and you're logged in as a Sysadmin you'll see the following dropdown in the Admin menubar.