[Docker] FileZilla on Synology NAS

[Docker] FileZilla on Synology NAS

When running applications on Synology NAS through Docker, I like to keep a record of my configurations. Here’s my docker-compose.yaml for setting up FileZilla:

services:
  filezilla:
    image: jlesage/filezilla:latest
    container_name: filezilla
    restart: unless-stopped
    environment:
      - USER_ID=1026
      - GROUP_ID=100
      - TZ=Asia/Seoul
      - DISPLAY_WIDTH=1600
      - DISPLAY_HEIGHT=900
      - KEEP_APP_RUNNING=1
      - CLEAN_TMP_DIR=1
      - VNC_PASSWORD=YOUROWNPASSWORD
      # Optional: Korean language support
      #- ENABLE_CJK_FONT=1
      #- LANG=ko_KR.UTF-8
      #- LANGUAGE=ko_KR:ko
      #- LC_ALL=ko_KR.UTF-8
    ports:
      - "5800:5800"
    volumes:
      - /volume1/docker/filezilla/config:/config:rw
      - /volume1/docker/filezilla/storage:/storage:rw

Key Notes

🔑 User & Group IDs

Update USER_ID and GROUP_ID with your actual Synology account values. This ensures that ownership and permissions on mounted volumes are handled correctly. You can check your values by connecting to your NAS over SSH and running the id command. Typically, the first account on Synology has USER_ID=1026 and GROUP_ID=100 (for the usersgroup).

🔒 VNC Password

By default, FileZilla’s VNC interface can be accessed if someone knows your server’s IP/port. Adding the VNC_PASSWORD environment variable restricts access and secures the interface.

🌐 Language & Fonts

If you want Korean (or other CJK languages), enable the environment variables shown above. Otherwise, leave them commented out to use English.


Accessing FileZilla

Once the container is up and running, you can access FileZilla through your browser:

http://your-nas-ip:5800

This setup provides a convenient browser-based FileZilla client running securely on Synology NAS.


🔄 Reverse Proxy Setup on Synology

To make access cleaner (e.g., https://filezilla.domain.com instead of http://your-nas-ip:5800), you can configure Synology’s built-in reverse proxy:

  1. Go to Control Panel → Login Portal → Reverse Proxy → Create.
  2. Source:
    • Protocol: HTTPS
    • Hostname: filezilla.domain.com
    • Port: 443
  3. Destination:
    • Protocol: HTTP
    • Hostname: 127.0.0.1
    • Port: 5800
  4. Assign an SSL certificate for filezilla.domain.com under Certificates in the Control Panel.
  5. Save the configuration.

Now you can access FileZilla securely using:

https://filezilla.domain.com