Skip to content

Installation Setup

Ryan edited this page Nov 29, 2025 · 3 revisions

Installation & Setup

You can deploy FileRise either by running the Docker container (quickest way) or by a manual installation on a PHP web server. Both methods are outlined below.

1. Running with Docker (Recommended)

If you have Docker installed, you can get FileRise up and running in minutes:

  • Pull the image from Docker Hub:
docker pull error311/filerise-docker:latest

(For Apple Silicon (M1/M2) users, use --platform linux/amd64 tag until multi-arch support is added.)

  • Run a container:
docker run -d \
  -p 8080:80 \
  -e TIMEZONE="America/New_York" \
  -e TOTAL_UPLOAD_SIZE="5G" \
  -e SECURE="false" \
  -v ~/filerise/uploads:/var/www/uploads \
  -v ~/filerise/users:/var/www/users \
  -v ~/filerise/metadata:/var/www/metadata \
  --name filerise \
  error311/filerise-docker:latest

This will start FileRise on port 8080. Visit http://your-server-ip:8080 to access it. Environment variables shown above are optional – for instance, set SECURE="true" to enforce HTTPS (assuming you have SSL at proxy level) and adjust TIMEZONE as needed. The volume mounts ensure your files and user data persist outside the container.

  • Using Docker Compose: Alternatively, use docker-compose. Save the snippet below as docker-compose.yml and run docker-compose up -d:
services:
  filerise:
    image: error311/filerise-docker:latest
    ports:
      - "8080:80"
    environment:
      TIMEZONE: "UTC"
      TOTAL_UPLOAD_SIZE: "10G"
      SECURE: "false"
      PERSISTENT_TOKENS_KEY: "default_please_change_this_key"
      SCAN_ON_START: "true"   # optional: auto-index existing files
      CHOWN_ON_START: "true"  # optional: fix perms on first run
    volumes:
      - ./uploads:/var/www/uploads
      - ./users:/var/www/users
      - ./metadata:/var/www/metadata

FileRise will be accessible at http://localhost:8080 (or your server’s IP). The above example also sets a custom PERSISTENT_TOKENS_KEY (used to encrypt “remember me” tokens) – be sure to change it to a random string for security.

First-time Setup: On first launch, FileRise will detect no users and prompt you to create an Admin account. Choose your admin username & password, and you’re in! You can then head to the User Management section to add additional users if needed.

2. Manual Installation (PHP/Apache)

If you prefer to run FileRise on a traditional web server (LAMP stack or similar):

  • Requirements: PHP 8.1 or higher, Apache (with mod_php) or another web server configured for PHP. Ensure PHP extensions json, curl, and zip are enabled. No database needed.
  • Download Files: Clone this repo or download the latest release archive.
git clone https://github.com/error311/FileRise.git  

Place the files into your web server’s directory (e.g., /var/www/html/filerise). It can be in a subfolder (just adjust the BASE_URL in config as below).

  • Composer Dependencies: If you plan to use OIDC (SSO login), install Composer and run composer install in the FileRise directory. (This pulls in a couple of PHP libraries like jumbojett/openid-connect for OAuth support.) If you skip this, FileRise will still work, but OIDC login won’t be available.

  • Folder Permissions: Ensure the server can write to the following directories (create them if they don’t exist):

mkdir -p uploads users metadata
chown -R www-data:www-data uploads users metadata   # www-data is Apache user; use appropriate user
chmod -R 775 uploads users metadata

The uploads/ folder is where files go, users/ stores the user credentials file, and metadata/ holds metadata like tags and share links.

  • Configuration: Open the config.php file in a text editor. You may want to adjust:

    • BASE_URL – the URL where you will access FileRise (e.g., “https://files.mydomain.com/”). This is used for generating share links.

    • TIMEZONE and DATE_TIME_FORMAT – match your locale (for correct timestamps).

    • TOTAL_UPLOAD_SIZE – max aggregate upload size (default 5G). Also adjust PHP’s upload_max_filesize and post_max_size to at least this value (the Docker start script auto-adjusts PHP limits).

    • (Optional) PERSISTENT_TOKENS_KEY – set a unique secret if you use “Remember Me” logins, to encrypt the tokens.

    • Other settings like UPLOAD_DIR, USERS_FILE etc. generally don’t need changes unless you move those folders. Defaults are set for the directories mentioned above.

  • Web Server Config: If using Apache, ensure .htaccess files are allowed or manually add the rules from .htaccess to your Apache config – these disable directory listings and prevent access to certain files. For Nginx or others, you’ll need to replicate those protections (see Wiki: Nginx Setup for examples). Also enable mod_rewrite if not already, as FileRise may use pretty URLs for share links.

Now navigate to the FileRise URL in your browser. On first load, you’ll be prompted to create the Admin user (same as Docker setup). After that, the application is ready to use!

Clone this wiki locally