Chạy Seafile bằng Docker
Nghia Phan
Mục Lục Bài Viết
Seafile là nền tảng đồng bộ và chia sẻ file mã nguồn mở. Bài này dùng hai container MariaDB và Seafile trên cùng network, lưu dữ liệu lần lượt ở ~/docker/mariadb và ~/docker/seafile.
Cài Docker
Đăng nhập Linux bằng tài khoản có sudo, sau đó chạy:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -ycurl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"sudo apt install docker-ce docker-compose containerd.io -ysudo systemctl enable docker && sudo systemctl start dockersudo usermod -aG docker $USERsu - $USER
Với distro mới, hãy xem thêm Docker docs vì apt-key đã deprecated.
Chạy MariaDB và Seafile
- Tạo thư mục và network:
mkdir ~/docker/mariadb -p && mkdir ~/docker/seafilesudo chown "$USER":"$USER" ~/docker -Rdocker network create containers
- Chạy MariaDB. Đổi
[DB_ROOT_PASSWORD]thành secret riêng:
docker run -d --name mariadb --network containers \ -e MYSQL_ROOT_PASSWORD='[DB_ROOT_PASSWORD]' \ -v ~/docker/mariadb:/var/lib/mysql \ --restart=unless-stopped mariadb:latest
- Chạy Seafile và trỏ database tới container
mariadb:
docker run -d --name seafile --network containers -p 8080:80 \ -e DB_HOST=mariadb \ -e DB_ROOT_PASSWD='[DB_ROOT_PASSWORD]' \ -e TIME_ZONE=Asia/Ho_Chi_Minh \ -v ~/docker/seafile:/shared \ --restart=unless-stopped seafileltd/seafile-mc:11.0-latest
Thiết lập Seafile
- Mở
http://DNSorIP:8080và chờ lần khởi tạo đầu tiên. - Đăng nhập bằng tài khoản quản trị do image tạo hoặc thông tin bạn đã cấu hình; không dùng credential mẫu của nguồn.
- Bấm biểu tượng profile góc phải > System Admin > Users.
- Bấm Add User, nhập email và mật khẩu riêng, rồi Submit.
- Mở tab Admin, bấm Add Admin, chọn user mới và Submit.
- Logout, đăng nhập lại bằng user mới, rồi vào System Admin > Users.
- Chọn user mẫu
me@example.comnếu nó tồn tại, bấm Delete Users. - Kiểm tra upload, download, tạo thư viện và quyền chia sẻ.
Cảnh báo: Seafile cần backup cả
~/docker/seafilevà database trước khi nâng cấp image. Không mở MariaDB ra Internet; nên đặt Seafile sau HTTPS reverse proxy khi dùng ngoài LAN.
Quảng cáo
Nguồn và video
- Tutorial gốc: i12bretro 0952
- Video gốc: Run Seafile in Docker
Bình Luận & Thảo Luận
Góp ý, hỏi đáp và chia sẻ suy nghĩ của bạn