Create a text file named docker-compose.yml:

vim docker-compose.yml

and paste the following inside, adjusting the settings accordingly to your needs:

version: '2'

services:
  db:
    image: mariadb:10.1
    environment:
      MYSQL_ROOT_PASSWORD: your_mysql_root_password
      MYSQL_USER: your_filerun_username
      MYSQL_PASSWORD: your_filerun_password
      MYSQL_DATABASE: your_filerun_database
    volumes:
      - /filerun/db:/var/lib/mysql

  web:
    image: filerun/filerun:8.1
    environment:
      FR_DB_HOST: db
      FR_DB_PORT: 3306
      FR_DB_NAME: your_filerun_database
      FR_DB_USER: your_filerun_username
      FR_DB_PASS: your_filerun_password
      APACHE_RUN_USER: www-data
      APACHE_RUN_USER_ID: 33
      APACHE_RUN_GROUP: www-data
      APACHE_RUN_GROUP_ID: 33
    depends_on:
      - db
    links:
      - db:db
    ports:
      - "80:80"
    volumes:
      - /filerun/html:/var/www/html
      - /filerun/user-files:/user-files

Please note the above volumes configuration. There are two folders you need to configure.

One for the FileRun application files (it can be located in any empty folder and must have the mount path set to /var/www/html) and one for the FileRun user files, with the mount path set to /user-files.

In other words, if you use the above configuration text as it is, you just need to create two empty folders, /filerun/html and /filerun/user-files and you can starting the FileRun Docker container up:

mkdir /filerun /filerun/html /filerun/user-files /filerun/db

Login to your FileRun client account by using this link: https://filerun.com/client-area/client-area-orders

It will take you to “Your Licenses”. That is where you will be able to download the FileRun application files in a zip archive. Please use the version for PHP 8.1.

Upload the zip archive to your server, inside where you mounted /var/www/html (for our above example, that would be /filerun/html).

Extract the zip in the same folder.

Adjust the folder permissions to be writable by FileRun:

chown www-data:www-data -R /filerun/html/system/data

And start FileRun up using the following command:

docker compose up -d

FileRun is now ready and you can access it with your browser.

You will want to set the home folder path of the FileRun Superuser account to /user-files

Please see this guide.

If your desktop sync app redownload everything every time your server restarts, it may be because your Docker container is changing the device id of the volume mounts. To fix this, please use the option

$config['system']['webdav']['skip_device_id_for_etag'] = true;

here: https://docs.filerun.com/advanced_configuration