Налаштування сервера синхронізації файлів Seafile через Docker
Допомога сторонніх хмарних сервісів дійсно корисна, і багато користувачів обирають саме цей варіант. Однак останнім часом зростає популярність самостійного хостингу. Існує ймовірність, що разом із самостійним хостингом ви отримуєте такі переваги, як кастомізація та конфіденційність.
Через попит на різні інструменти, Seafile з'явився як ефективний варіант для обміну та синхронізації файлів. Це рішення з відкритим вихідним кодом надає користувачам величезні можливості для легкого управління даними.
Розгорнувши сервер Seafile самостійно, ви можете бути на 100% впевнені, що конфіденційні дані знаходяться під вашим повним контролем.
У цій статті ви отримаєте всю необхідну інформацію про процес встановлення та інші рекомендації. Для початку, вам краще встановити Docker. Наступним важливим кроком є встановлення Docker Compose. Процес встановлення дуже легкий, просто виконайте наступні команди:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Розгортання сервера Seafile за допомогою Docker Compose
HTTPS не застосовується для розгортання сервера Seafile, яке описано нижче. Це означає, що його можна використовувати лише у локальній мережі, і він не може бути підключений до інтернету.
Щоб отримати SSL-шифрування, якщо ви хочете почати з цього варіанту, бажано розмістити сервер за проксі-сервером. Серед кількох дійсно популярних варіантів зворотного проксі є такі, як Apache, Caddy, Istio, HAProxy, Nginx, Linkerd, HAPoxy та інші. Ці зворотні проксі-сервери обробляють вхідні запити.
Однак, якщо ви хочете, щоб сервер Seafile був доступний в інтернеті, то ви можете знайти кілька чудових варіантів для дійсного безкоштовного SSL-сертифікату. Це гарантуватиме безпечне з'єднання між сервером і клієнтськими програмами.
Налаштування робочого каталогу
Першим кроком є створення теки, де будуть розташовані файли Docker Composer. Після цього виберіть її, і всі команди, які ми будемо згадувати тут, слід виконувати у цьому місці.
mkdir seafile
cd seafile
Розгортання Seafile за допомогою Docker Compose
Створіть файл і внесіть до нього такі дані:
nano docker-compose.yaml
version: '3'
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_LOG_CONSOLE=true
volumes:
- mysql-data:/var/lib/mysql
restart: unless-stopped
networks:
- seafile-net
memcached:
image: memcached:latest
container_name: seafile-memcached
entrypoint: memcached -m 256
restart: unless-stopped
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "80:80"
volumes:
- seafile-data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=
- TIME_ZONE=
- SEAFILE_ADMIN_EMAIL=
- SEAFILE_ADMIN_PASSWORD=
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=
depends_on:
- db
- memcached
restart: unless-stopped
networks:
- seafile-net
networks:
seafile-net:
volumes:
mysql-data: {}
seafile-data: {}
Є кілька параметрів, які слід відкоригувати перед збереженням файлу:
Часовий пояс: формат часового поясу має бути "країна/місто", при застосуванні правильного поясу взаємодія з сервером Seafile буде показана з відповідним параметром.
- DB ROOT PASSWD: введіть той самий пароль, що і в кореневому обліковому записі MySQL.
- MYSQL ROOT PASSWORD: введіть той самий пароль, що і в попередньому параметрі.
- SEAFILE ADMIN EMAIL: це буде не тільки адреса електронної пошти адміністратора, але й ім'я, яке буде використовуватися для входу на сервер Seafile.
- SEAFILE ADMIN PASSWORD: пароль має бути таким самим, як і в попередніх варіантах.
- SEAFILE SERVER HOSTNAME: тут слід вказати IP-адресу комп'ютера, на якому знаходиться сервер Seafile.
Після того, як ви заповнили відповідну інформацію, ви можете закрити файл.
Запуск сервера Seafile за допомогою Docker Compose
Тепер можна запустити Seafile за допомогою Docker Compose. Для цього вам потрібно виконати наступну команду в каталозі Seafile.
docker-compose up -d
Після цього почнеться завантаження Docker-образів. Залежно від швидкості вашого інтернету процес може зайняти від декількох секунд до декількох хвилин. Після завершення процесу ви побачите, що все успішно працює.
Зазвичай, затримка відбувається лише протягом перших хвилин через необхідність завантаження зображень. Всі інші запуски триватимуть кілька секунд, оскільки вони будуть локально доступні в системі.
Доступ до сервера Seafile та вхід до нього
Відкрийте браузер і виберіть IP-адресу, на якій функціонує сервер Seafile. Ви побачите вікно входу в систему, де вам потрібно буде ввести свій пароль та електронну пошту, які ви вказали у файлі .yaml.
Все, тепер ваш сервер Seafile встановлений, і ви можете перейти до управління ним через веб-інтерфейс.
Підключення клієнта Seafile до сервера
Підключення сервера до клієнта Seafile може мати різні етапи, залежно від операційної системи, яку ви використовуєте. Після завершення цього процесу можна буде синхронізувати Seafile з локальними файлами.
Користувачі Seafile мають доступ до різних клієнтів для різних ОС, включаючи macOS, Linux і Windows. Їх можна легко завантажити з офіційного сайту. Крім того, мобільні користувачі також можуть отримати цей клієнт для iOS та Android.
Тут ми розповімо про процес встановлення найпоширеніших дистрибутивів Linux. Почнемо з Linux Mint, Ubuntu та Debian. Для встановлення потрібно виконати наступну команду:
sudo apt install seafile-gui
Користувачі Manjaro та Arch можуть виконати встановлення за допомогою помічника AUR, скориставшись наступною командою:
yay -S seafile-client
Клієнт seafile знаходиться у сховищі, тому користувачам Fedora для встановлення знадобиться одна команда:
sudo dnf install seafile-client
Після завершення встановлення ви можете відкрити програму з меню. Просто введіть "Seafile" в пошук і запустіть його. Після цього з'явиться вікно ініціалізації Seafile, в якому ви повинні вибрати папку, куди синхронізувати файли. Підтека з назвою "Seafile" буде створена автоматично, без втручання користувача.
Після натискання наступної кнопки потрібно буде ввести облікові дані та адресу сервера і натиснути кнопку "Увійти". Вікно закриється і автоматично запуститься клієнт Seafile. Тут вам потрібно буде почати синхронізацію файлів з сервером.
Корисною опцією є те, що ви можете встановити клієнт на інший гаджет, якщо хочете мати одні й ті ж файли на декількох пристроях.
Корисні рекомендації
Разом з клієнтом Seafile буде досить корисно використовувати клієнт Seafile Drive. Він відповідає за відображення сховища на сервері і його можна порівняти з віртуальним диском на ПК. Основною перевагою клієнта є негайний доступ до файлів Seafile без необхідності їх синхронізації. Це буде гарним вибором у випадку, якщо ви хочете розширити локальний диск за рахунок великого сховища на сервері.
Для швидкого та автоматичного оновлення Docker-контейнера можна використовувати Watchtower. Постійне оновлення може забирати багато часу при управлінні великою кількістю контейнерів на декількох хостах. Тому такий інструмент як Watchtower може бути корисним для періодичних перевірок і оновлень системи. Цей додаток дуже простий у встановленні, і вам не знадобляться додаткові знання для керування ним.
Останній корисний інструмент - Portainer. Він використовується для моніторингу та управління Docker. Цей інструмент зручний і надзвичайно простий у використанні, оскільки виконує завдання без складних команд.
Якщо вам потрібна додаткова інформація про встановлення або використання вищезгаданих інструментів, є багато ресурсів та покрокових інструкцій.
Висновок
У статті описано детальний процес встановлення Seafile за допомогою Docker Compose. Крім того, ви можете знайти тут всю інформацію про встановлення клієнта і його підключення до сервера.
Виконавши всього кілька простих кроків, ви зможете використовувати весь потенціал синхронізації Seafile. Такий підхід до налаштування гарантує надійну роботу.
Будь-який користувач може легко налаштувати сервер Seafile через Docker без технічних навичок. Вся потрібна інформація описана в цій статті, а за додатковими даними вам краще звернутися на офіційний сайт. Там ви обов'язково знайдете додаткові рекомендації.