Научете как да инсталирате сървъра Seafile с помощта на Docker Compose за безпроблемно синхронизиране на файлове на всички ваши устройства.
Отминаха дните на разчитане единствено на облачни услуги на трети страни за съхранение и синхронизиране на данни. Самостоятелното хостване придоби огромна популярност поради безпрецедентния си контрол, поверителност и ползи за персонализиране.
В тази светлина Seafile се откроява като универсално решение за синхронизиране и споделяне на файлове с отворен код, което дава възможност на потребителите да управляват своите данни без усилие.
Като хоствате самостоятелно вашия Seafile сървър, вие си възвръщате собствеността върху вашите данни, като гарантирате, че чувствителната информация остава под ваш контрол.
Освен това е отлична алтернатива на популярния Nextcloud. Да предположим, че всичко, от което се нуждаете, е да синхронизирате и споделяте файлове между вашите устройства. В такъв случай го препоръчваме вместо него, защото Nextcloud е много по-всеобхватно решение с малко по-различни цели, фокусирани върху сътрудничеството на потребителите.
Ако обаче искате да го изпробвате, нашето подробно ръководство „Как да инсталирате Nextcloud с Docker“ ще ви преведе лесно през целия процес.
А сега обратно към темата. В цялата тази статия ще ви преведем през инсталирането на самостоятелно хоствания сървър Seafile с помощта на Docker Compose. И така, да започваме!
Предпоставки
Разбира се, инсталирането на Docker и Docker Compose е необходимо за разгръщане на контейнеризиран Seafile. Така че, ако все още нямате инсталиран Docker, някое от следните ръководства ще ви бъде полезно:
Другият основен компонент е Docker Compose. Не забравяйте, че се предоставя отделно от Docker. Следователно трябва да инсталирате Docker, преди да добавите Docker Compose; в противен случай Compose няма да функционира.
Инсталирането му е доста лесно, дори ако вече не е във вашата Linux система. За да инсталирате 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 Server с Docker Compose
Внедряването на Seafile сървър, показано по-долу, не използва HTTPS. Това означава, че се прилага, ако искате да го използвате във вашата локална (домашна) мрежа и услугата няма да бъде изложена на интернет.
Въпреки това, ако изберете тази опция, силно ви съветваме да поставите Seafile сървъра зад обратен прокси, за да активирате SSL криптиране на връзката. Опциите за обратен прокси са много, като най-популярните представители са Nginx, Nginx Proxy Manager, Caddy, Traefik, HAProxy и др.
От друга страна, ако планирате сървърът на Seafile да е видим в мрежата, ще ви покажем опциите, необходими за издаване на валиден безплатен SSL сертификат, за да осигурите защитена връзка между клиентските приложения и сървъра малко по-надолу.
Настройка на работната директория
Първата стъпка е да създадете папката, в която ще бъдат поставени нашите файлове за разполагане на Docker Compose. След това преминете към него; от тук нататък трябва да изпълните всички команди по-надолу в това ръководство от това място.
mkdir seafile
cd seafile
Настройване на разполагането на Seafile на Docker Compose
След това създайте „docker-compose.yaml” и поставете следното съдържание в него:
nano docker-compose.yaml
version: '3'
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=your-mysql-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=your-mysql-password
- TIME_ZONE=Etc/UTC
- [email protected]
- SEAFILE_ADMIN_PASSWORD=your-password
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=seafile-server-ip-address
depends_on:
- db
- memcached
restart: unless-stopped
networks:
- seafile-net
networks:
seafile-net:
volumes:
mysql-data: {}
seafile-data: {}
Няколко параметъра трябва да бъдат коригирани, преди да запишете файла:
- MYSQL_ROOT_PASSWORD: Задайте паролата, която ще бъде зададена за MySQL root суперпотребителски акаунт.
- DB_ROOT_PASSWD: Трябва да въведете същата парола, която сте избрали за „MYSQL_ROOT_PASSWORD” опция. Контейнерът Seafile го използва, за да установи връзка с базата данни.
- ЧАСОВА ЗОНА: Задайте правилната часова зона за вас, например „Америка/Ню_Йорк.” По този начин взаимодействията със сървъра на Seafile ще бъдат отразени в правилната времева рамка.
- SEAFILE_ADMIN_EMAIL: Освен че е имейл адресът на администраторския акаунт, това е потребителското име, което администраторът ще използва при влизане в сървъра на Seafile.
- SEAFILE_ADMIN_PASSWORD: Паролата за администраторския акаунт от предишната опция.
- SEAFILE_SERVER_HOSTNAME: Посочете IP адреса на машината, на която ще работи вашият докеризиран Seafile сървър. Например, “SEAFILE_SERVER_HOSTNAME=192.168.0.123.”
След като ги промените, можете да запазите и затворите файла.
В случай, че порт 80 вече се използва от друга услуга на хоста, на който ще стартирате услугата, можете да посочите различен порт за Seafile сървъра, например:
ports:
- "8088:80"
Разбира се, това означава, че услугата ще бъде достъпна на предоставения порт, например 8088, така че когато конфигурирате клиента да се свързва със сървъра, както ще покажем по-долу, ще трябва да посочите порта след сървъра име/IP адрес. Например, “http://192.168.0.123:8088.”
Стартиране на сървъра Seafile с Docker Compose
И накрая, можем да стартираме нашия докеризиран стек Seafile с помощта на Docker Compose. За да направите това, изпълнете дадената по-долу команда от „морски файл” директория, където нашите „docker-compose.yaml” се намира файлът.
Стартирайте и стартирайте контейнерите във фонов режим:
docker-compose up -d
Изображенията на Docker ще започнат да се изтеглят. Цялата процедура може да отнеме секунди до няколко минути, в зависимост от скоростта на вашата интернет връзка.
В крайна сметка трябва да видите екран, подобен на този по-долу, който ви информира, че вашата инсталация на Seafile сървър е успешно внедрена и работи.
Първоначалното забавяне на стартирането на контейнерите ще бъде само за първи път, защото Docker трябва да изтегли изображения от интернет. След това всички следващи изпълнения ще отнемат секунди, тъй като вече ще бъдат налични локално във вашата Linux система.
Влезте в сървъра на Seafile
Отворете уеб браузър и го насочете към IP адреса на машината, където работи Seafile сървърът. Ще ви посрещне екран за вход.
Въведете имейла и паролата, които сте задали за „SEAFILE_ADMIN_EMAIL” и “SEAFILE_ADMIN_PASSWORD” опции в „docker-compose.yaml”, след което натиснете „Влизам” бутон.
Честито! Мисията изпълнена. Вашият нов Seafile сървър е инсталиран успешно и вече можете да го управлявате чрез неговия уеб базиран интерфейс за управление.
Seafile сървър със SSL сертификат
Ако планирате да получите достъп до вашия Seafile сървър от интернет, трябва да защитите връзката със SSL сертификат (HTTPS).
За щастие, Seafile предлага опция, която автоматично издава сертификат Let’s Encrypt, който ви предоставя тази функционалност. Всичко, от което се нуждаете, за да се възползвате от него, е валидно име на домейн.
За това ръководство ще използваме „seafile.tmplinux.com.” За да активирате тази функция, направете следните промени в „docker-compose.yaml” файл.
- Добавете порт 443 към „пристанища” раздел.
- Нагласи “SEAFILE_SERVER_LETSENCRYPT” опция за “вярно.”
- Посочете адреса на домейна, където ще бъде разположена услугата, като го добавите като стойност към „SEAFILE_SERVER_HOSTNAME” във формат “sever.example.com.”
След като стартирате сървъра, изчакайте няколко секунди, докато Seafile поиска и получи SSL сертификата. След това отворете адреса и ще видите, че ви е издаден валиден Let’s Encrypt сертификат, гарантиращ сигурна HTTPS комуникация със сървъра.
Свържете Seafile Client към сървъра
Следващото важно нещо, което трябва да направите, е, в зависимост от операционната система, която използвате, да инсталирате настолното клиентско приложение, за да взаимодействате със сървъра на Seafile, за да синхронизирате вашите локални файлове със сървъра.
Seafile предлага настолни клиенти за Windows, Linux и macOS, които могат да бъдат изтеглени от уебсайт на проекта. Освен това, ако използвате услугата от мобилните си устройства, можете да изтеглите Android клиент от Google Play Store или iOS клиент от Apple App Store.
По-долу ще ви покажем как да инсталирате клиента Seafile за някои от най-широко използваните Linux дистрибуции.
Ubuntu, Debian, Linux Mint
За да инсталирате клиента за синхронизиране на работния плот Seafile, въведете следната APT команда:
sudo apt install seafile-gui
Arch Linux, Manjaro
Arch и потребителите на базирани на Arch дистрибуции могат да инсталират Seafile клиент от AUR хранилището с помощта на AUR помощник като yay
изпълнявайки:
yay -S seafile-client
Ако обаче нямате опит с AUR хранилището на Arch, не се притеснявайте – ние ще ви покрием. Нашето подробно ръководство, “Как да инсталирате AUR пакети в Arch Linux,” ще ви помогне да се справите с тази задача с лекота.
Fedora
Потребителите на Fedora имат клиента Seafile в хранилищата на дистрибуцията, така че им дели само една DNF команда от инсталирането му.
sudo dnf install seafile-client
След като го инсталирате, можете да го стартирате от менюто на настолното приложение. Търся “морски файл”, и когато се появи иконата му, щракнете, за да стартирате същото.
Изберете директорията, в която искате да синхронизирате вашите файлове. Трябва да се отбележи, че поддиректория, наречена „Seafile” ще се създаде автоматично в него. След това натиснете „Следващия.”
Въведете адреса на сървъра на Seafile и идентификационните данни на потребителя в следващия прозорец и накрая щракнете върху „Влизам” бутон.
Прозорецът ще се затвори и клиентското приложение Seafile ще се стартира. Готови сте да започнете да синхронизирате вашите файлове със сървъра Seafile.
Освен това можете също да инсталирате клиента на другите си устройства, ако трябва да имате вашите файлове на тях.
Бонус съвети
В допълнение към десктоп клиента Seafile Sync, имате и клиент Seafile Drive. Позволява ви достъп до файлове на сървъра без синхронизиране с локален диск. С други думи, работи като мрежово устройство.
Можете да го получите, като го изтеглите и инсталирате от Раздел за изтегляне на уебсайта Seafile.
Освен това, ако се чудите: „Добре, но как мога да актуализирам контейнера на Seafile, когато излезе нова версия?“ няма място за притеснение, тъй като ние ще ви покрием.
С помощта на Watchtower и нашето подробно и лесно за следване ръководство „Watchtower: Автоматично актуализиране на изображенията на Docker Container“, вие винаги ще имате най-актуалната версия на Seafile.
И накрая, ако работата в терминал не ви харесва, Portainer е тук, за да ви помогне, като предоставя удобен уеб базиран интерфейс за взаимодействие с Docker контейнери.
Никога ли не сте чували за това? Простото четене на „Как да инсталирате и използвате Portainer за управление на Docker контейнери“ ще ви плени.
Заключение
Това ръководство ви показа как да инсталирате Seafile File Sync Server с помощта на Docker Compose. Освен това ви показахме как да инсталирате клиентското приложение и да го свържете към сървъра.
Следвайки описаните стъпки, можете да впрегнете потенциала на синхронизирането на данни на Seafile, докато се възползвате от капсулираното и преносимо внедряване на приложения на Docker Compose.
Този подход рационализира процеса на настройка и гарантира последователна и надеждна производителност, независимо от основната инфраструктура.
Благодаря за отделеното време! Ако имате въпроси, моля, оставете ги в секцията за коментари по-долу. За да научите повече за Seafile, посетете неговия уебсайт или прегледайте документация.
Публикациите се превеждат автоматично с google translate