Bạn đang tìm kiếm một giải pháp quản lý file qua web, dễ dùng, giao diện đẹp và có thể tự host? FileBrowser chính là lựa chọn tuyệt vời! Trong bài viết này, mình sẽ hướng dẫn bạn từng bước cài đặt FileBrowser bằng Docker Compose trên Ubuntu, kèm mẹo sử dụng, xử lý lỗi và tối ưu bảo mật. Cùng bắt đầu nhé!

FileBrowser là gì? Vì sao nên tự host bằng Docker Compose?

FileBrowser là một ứng dụng mã nguồn mở cho phép bạn duyệt, tải lên/xuống, chỉnh sửa, đổi tên, xóa file và thư mục ngay trên trình duyệt web. Bạn có thể tạo nhiều tài khoản, phân quyền, gắn thư mục riêng cho từng người dùng – cực kỳ tiện lợi cho cá nhân lẫn nhóm nhỏ.

Lý do nên tự host FileBrowser bằng Docker Compose:

  • Triển khai nhanh, dễ backup/restore.
  • Tách biệt với hệ điều hành, không sợ “vỡ” môi trường.
  • Dễ dàng cấu hình volume, port, thư mục dữ liệu.
  • Nâng cấp, di chuyển server chỉ bằng vài lệnh.

Chuẩn bị: Cài đặt Docker & Docker Compose

Nếu máy bạn chưa có Docker và Docker Compose, hãy làm theo các bước sau (áp dụng cho Ubuntu 18.04 trở lên):

Bước 1: Cập nhật hệ thống

sudo apt update

Bước 2: Cài đặt các gói phụ thuộc

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

Bước 3: Thêm GPG key và repo Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Bước 4: Cài Docker Engine

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

Bước 5: Khởi động và kiểm tra Docker

sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world

Bước 6: Cài Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

Nếu hiện ra version là thành công!.

Tạo file docker-compose.yml cho FileBrowser

Chọn một thư mục bất kỳ (ví dụ ~/filebrowser), rồi tạo file docker-compose.yml với nội dung như sau:

version: '3.8'

services:
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    volumes:
      - ./data:/srv             # Thư mục dữ liệu bạn muốn quản lý
      - ./filebrowser.db:/database/filebrowser.db   # File database (nên tạo sẵn, xem bên dưới)
      - ./settings.json:/config/settings.json       # File cấu hình (tùy chọn)
    environment:
      - PUID=1000               # ID user (xem bằng lệnh id -u)
      - PGID=1000               # ID group (xem bằng lệnh id -g)
    ports:
      - "8080:80"               # Đổi port nếu muốn
    restart: unless-stopped

Lưu ý:

  • Thay ./data bằng đường dẫn thư mục bạn muốn quản lý.
  • Nên tạo sẵn file filebrowser.db để tránh lỗi (xem mục lỗi thường gặp).

Tạo file database trước khi chạy container

Đây là bước nhiều bạn hay bỏ qua dẫn đến lỗi. Hãy tạo file rỗng filebrowser.db:

touch ~/filebrowser/filebrowser.db

Nếu dùng file cấu hình riêng (settings.json), cũng tạo file rỗng tương tự.

Chạy FileBrowser bằng Docker Compose

Di chuyển vào thư mục chứa docker-compose.yml và chạy:

docker-compose up -d

Chờ vài giây, kiểm tra container đã chạy:

docker ps

Nếu thấy container filebrowser đang chạy là OK!

Truy cập & đăng nhập giao diện web

  • Mở trình duyệt, truy cập: http://<IP-máy-chủ>:8080
  • Tài khoản mặc định:
    • Username: admin
    • Password: admin
  • Đăng nhập xong, hãy đổi mật khẩu ngay để bảo mật!.

Đổi tài khoản mặc định & thêm người dùng

  1. Sau khi đăng nhập, vào mục Settings (Cài đặt).
  2. Chọn Users (Người dùng).
  3. Đổi mật khẩu tài khoản admin hoặc tạo user mới với quyền riêng.
  4. Có thể gán mỗi user một thư mục riêng bằng cách chỉnh trường Scope.

Gắn thư mục dữ liệu riêng

Để FileBrowser quản lý thư mục nào, chỉ cần sửa dòng volume trong docker-compose.yml:

- /duong/dan/thu-muc-cua-ban:/srv

Sau đó chạy lại:

docker-compose down
docker-compose up -d

Lưu ý: User chạy Docker phải có quyền đọc/ghi thư mục đó.

Các lỗi thường gặp & cách xử lý

Lỗi thường gặpNguyên nhân & Cách khắc phục
FileBrowser báo không tìm thấy filebrowser.dbChưa tạo file rỗng filebrowser.db trước khi mount. Tạo bằng touch.
Không truy cập được web (port 8080)Port đã bị ứng dụng khác chiếm. Đổi sang port khác trong docker-compose.yml.
Lỗi permission denied khi upload fileUser chạy Docker không đủ quyền thư mục mount. Chỉnh lại PUID/PGID cho đúng.
Upload bị lỗi 403 với user thườngUser chưa được cấp quyền chỉnh sửa/thêm file. Vào Settings > Users để phân quyền.
File filebrowser.db hoặc settings.json bị tạo thành thư mụcXóa folder, tạo lại file rỗng đúng tên.

Tips & kinh nghiệm cá nhân

  • Nên mount thư mục dữ liệu và database ra ngoài container để backup dễ dàng.
  • Định kỳ backup file filebrowser.db để tránh mất cấu hình và user.
  • Nếu dùng cho nhiều người, hãy phân quyền cẩn thận, tránh để user guest có quyền ghi/xóa file quan trọng.
  • Đổi port mặc định để tránh bị scan tự động trên internet.

Tự host FileBrowser bằng Docker Compose trên Ubuntu vừa đơn giản, vừa linh hoạt và bảo mật. Chỉ vài phút là bạn đã có một hệ thống quản lý file qua web cực kỳ tiện lợi, phù hợp cho cá nhân, gia đình hoặc nhóm nhỏ. Nếu gặp lỗi, hãy kiểm tra kỹ các bước mount volume, quyền user và file database nhé!

Chúc bạn thành công và tận hưởng sự tiện lợi của FileBrowser! Nếu có thắc mắc, hãy để lại bình luận, mình sẽ hỗ trợ thêm.

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận