ELXSoftware

ELX-Cloud

Documentation

From the first launch to certificates, quotas and the things worth backing up.

First launch

Linux
chmod +x elxcloud-linux-amd64
./elxcloud-linux-amd64 -data /srv/elxcloud -http 8080
# open http://<server>:8080 and sign in as the administrator it prints on first run
Windows
elxcloud-windows-x64.exe -data D:\elxcloud -http 8080
Change the administrator password immediatelyThe first launch prints the credentials it created. Change them before the machine is reachable from anywhere but the console you are sitting at.

Storage layout

Everything lives under the data directory: each user's home folder, the thumbnail cache, the database and the certificates. Moving the installation means moving that directory.

PathWhat is there
<data>/users/<name>That user's files, including their trash
<data>/cacheThumbnails — safe to delete, they will be prepared again
<data>/elxcloud.dbAccounts, links, settings and the login log
<data>/certsCertificates, including those obtained automatically
What to back upThe database and the user folders. The cache is not worth the space in a backup: it regenerates on its own.

HTTPS and ports

Three ways to get a certificate: obtain one automatically, which also renews it; supply your own pair of files; or generate a self-signed one for a closed network. HTTP can redirect to HTTPS.

Ports for HTTP, HTTPS and FTP, and the passive port range, are changed in the administration panel without restarting the service. A port is checked for availability before the switch, so a typo does not take the server off the network.

Automatic certificates need port 80The issuing check arrives on port 80 from the outside. If something else holds that port, or a firewall blocks it, issuance fails and the reason is stated plainly.

FTP and FTPS

  • The same login and password as the web interface; FTP can be enabled per account.
  • Explicit FTPS via AUTH TLS, using the web interface's certificate.
  • Passive mode with a configurable port range — that range has to be open on the firewall as well as the control port.
  • Deletions over FTP go to the trash, exactly as they do in the browser.
  • A data connection closed without a TLS shutdown counts as a normal end of transfer, because that is what mobile clients do.

Password protection

Any folder or file can be locked with its own password, unrelated to any account. Two modes: fully hidden, or visible but unchangeable.

  • The password is asked for on entering the folder and lasts thirty minutes within the session.
  • Removing the protection always asks for it again.
  • Protection covers everything inside, and travels with the folder when it is renamed or moved.
  • A protected object cannot be published as a public link, and is not visible over FTP at all.

Users and quotas

  • Accounts are created by the administrator: name, password, quota, whether FTP is allowed.
  • An account can be blocked without being deleted, which is usually what you want when somebody leaves.
  • Administrator rights are granted and revoked with one button, and the system refuses to remove the last administrator.
  • A user changes their own display name, e-mail, password and avatar.
  • The event log keeps logins, uploads, deletions and publications for ninety days.

Mail

With SMTP configured, the server can send a warning after a run of failed logins and, if you want it, on every administrator login. Password recovery by e-mail uses a one-time link valid for an hour.

Behind a reverse proxy

If nginx already terminates TLS on the machine, let it: point it at the plain HTTP port and switch the server's own HTTPS off. Two things matter — pass the real client address through, or the login log and the block list will see only the proxy, and raise the proxy's upload limit, or large files will be refused before they reach the application.

The parts that are usually forgotten
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 0;
proxy_request_buffering off;

When something is wrong

SymptomWhere to look
Thumbnails never appearThumbnails are disabled in display settings, or the cache directory is not writable
Conversion is not offeredffmpeg or heif-convert is missing — the interface says which
FTP connects but listing hangsThe passive port range is closed on the firewall
FTPS client complains about the certificateA self-signed certificate the client does not trust
Uploads fail at a certain sizeThe per-file limit, or a reverse proxy limit in front of the server
Locked out by the block listUnblock from the console or add the address to the allow list — this is why the threshold is zero by default
An attached folder shows “no access”The service user lacks rights; use the grant button, and note that with ACLs the group bits shown are a mask, not the real permissions

Frequently asked questions

How do I move the installation to another machine?
Stop the service, copy the data directory, start the binary there with the same -data path. Accounts, files, links and settings come with it.
Can I delete the thumbnail cache?
Yes. It costs processor time to rebuild, not data. There is a button that says how much space it would free.
Does the trash count against a quota?
Yes — it stays in the owner's home folder. That is deliberate: otherwise deleting would appear to free space that is still occupied.

Nearby programs