The official Docker image for ResourceSpace. Full build instructions can be found on our Knowledge Base.
- Before building the Docker image, change the db.env file replacing the default "change-me" passwords to secure values.
- When setting up ResourceSpace ensure you enter "mariadb" as the MySQL server instead of "localhost" and leave the "MySQL binary path" empty.
This fork deploys ResourceSpace on agentleman-ded-01 at https://dam.garlomedia.com,
as a Coolify Git application with the Docker Compose build pack, using
docker-compose.prod.yml. Upstream's docker-compose.yaml, db.env and config.php
are left as they are, so syncing with upstream stays conflict-free.
- The ResourceSpace revision is pinned (
ARG RS_SVN_REVISION, currently29772). Upstream checks outreleases/11.0, a moving SVN branch with no tags, so two builds a week apart give different code. Upgrading is now a deliberate bump of that number. include/config.phpis a symlink to/config/config.php, a named volume. The web installer writes the configuration there, so it survives a redeploy. Without this, every deploy would greet you with the installer again.- Upload limits raised (
ARG PHP_UPLOAD_LIMIT, default4096M, execution time 600s). Upstream caps uploads at 100 MB, which rejects video masters outright. - MariaDB pinned to
11.4(LTS) instead of the movingmariadbtag. - No published ports and no fixed container names: Traefik routes the domain, and fixed names would collide with the other stacks on this server.
- Health checks on both services, so Coolify can tell you whether it is actually up.
- Passwords come from Coolify's environment, not the
change-mevalues indb.env.
The library is measured in terabytes; the server holds 437 GB. The filestore is therefore
the Hetzner Storage Box (sub-account u609705-sub4), mounted on the host over SMB and
bind-mounted into the container. Measured from this server: 0.45 ms latency, ~100 MB/s
write, ~109 MB/s read — the box is in the same datacenter.
Safety: when the mount is absent, the mount point is an empty write-protected directory, so ResourceSpace errors instead of silently writing originals to the local disk and later reporting them missing.
| Variable | Purpose |
|---|---|
MYSQL_PASSWORD, MYSQL_ROOT_PASSWORD |
Generated once, on the server. Losing them locks you out of the database. |
MYSQL_DATABASE, MYSQL_USER |
Default to resourcespace / resourcespace_rw. |
FILESTORE_PATH |
Host path of the SMB mount. Defaults to /mnt/resourcespace/filestore. |
RS_SVN_REVISION, PHP_UPLOAD_LIMIT |
Build arguments; the defaults above apply. |
- Deploy, then open the site immediately: the installer is reachable by anyone until it is completed, exactly like FreeFrame's setup page.
- In the installer, enter
mariadbas the database server (notlocalhost) and leave the MySQL binary path empty. - Use the database name, user and password from Coolify's environment variables.
- The image runs only ResourceSpace's daily hit-count cron. Features that rely on the offline job queue need an extra cron entry; add it when a plugin needs it.
- The database is covered by the server's nightly backup. The filestore is not: it already lives on the Storage Box, so copying it there again would be pointless. Enable Hetzner's snapshots on the box for accidental-deletion protection.