[Docker] FileBrowser on Synology NAS

[Docker] FileBrowser on Synology NAS

Lately, I’ve found myself editing files on my server from outside the house more often. Every time, I had to log into Synology DSM — and honestly, DSM isn’t very mobile-friendly.

So I started looking for alternatives and came across FileBrowser, a lightweight file manager for the web. It’s surprisingly versatile: it has a built-in code editor, can stream videos directly, and works nicely on mobile devices too. Perfect for my needs.


Folder Structure

In my setup, I mounted both my Docker folder and my home folder into FileBrowser, so I can access and edit them through the web interface.

/volume1/docker/filebrowser/
├── db/ # FileBrowser database (users, settings)
├── config/ # FileBrowser config files
(Container) /srv/docker_folder # Mapped to /volume1/docker
(Container) /srv/home_folder # Mapped to /volume1/homes/wody

Reverse Proxy Setup

I didn’t want to remember port numbers every time, so I exposed FileBrowser through a reverse proxy using Synology DSM.

Steps:

  1. Go to Control Panel → Login Portal → Advanced → Reverse Proxy.
  2. Add a new rule:
    • Source: file.yourdomain.com (port 443 if using HTTPS).
    • Destination: your NAS local IP, port 8383 (host port you mapped in Docker).
  3. Enable WebSocket support (FileBrowser uses it for smooth browsing)

Now you can simply access FileBrowser at:

https://file.yourdomain.com

Much cleaner than typing http://nas-ip:8383 every time.


Docker Compose File

Here’s my working docker-compose.yml file with comments:

services:
  filebrowser:
    image: filebrowser/filebrowser:v2-s6  # This tag supports PUID/PGID
    restart: always
    container_name: filebrowser
    environment:
      TZ: 'Asia/Seoul'
      PUID: 1026      # NAS user ID (important for file permissions)
      PGID: 100       # NAS group ID
    ports:
      - "8383:80"     # Expose container's port 80 on host port 8383
    volumes:
      - /volume1/docker/filebrowser/db:/database
      - /volume1/docker/filebrowser/config:/config
      - /volume1/docker:/srv/docker_folder     # To browse/edit my Docker files
      - /volume1/homes/wody:/srv/home_folder   # To access my home folder
    shm_size: 2G      # Shared memory size (helps with previews/large ops)

Notes and Caveats

  • I used the v2-s6 tag because it supports PUID and PGID environment variables.
    • If you use another image that doesn’t support these, you may need to replace them with: user: "1026:100"
  • After installation, you’ll be greeted by the FileBrowser login screen — but you won’t know the password right away.
    • In older versions, the default was admin/admin, but this has changed.
    • Now you need to check the container logs to find the auto-generated admin password.

Final Thoughts

After setting it up, I now have quick access to my NAS files without dealing with DSM’s clunky mobile UI. FileBrowser feels lightweight yet powerful — I can edit configs, stream videos, or just manage folders right from my phone or laptop.

A small tool, but a big improvement in my daily workflow.