نحوهی استقرار Seafile – همگامسازی امن فایل #
پلتفرم همگامسازی و همکاری فایل Seafile را با Docker Compose مستقر کنید.
Seafile یک پلتفرم ذخیرهسازی ابری متنباز است که برای همگامسازی فایل، اشتراکگذاری و همکاری تیمی طراحی شده است. Seafile از ویژگیهای فایل سفارشی و چندین نمای سازمانی برای مدیریت مؤثرتر محتوا پشتیبانی میکند. این پلتفرم تجربهای شبیه به Dropbox ارائه میدهد، در حالی که به شما امکان کنترل کامل بر دادههایتان روی سرور خودتان را میدهد.
این مقاله نحوه استقرار Seafile در اوبونتو ۲۴.۰۴ با استفاده از Docker Compose و ایمنسازی آن با HTTPS را نشان میدهد.
پیشنیازها #
قبل از شروع:
- به عنوان یک کاربر غیر ریشه با امتیازات sudo به یک سرور اوبونتو ۲۴.۰۴ (با حداقل ۲ گیگابایت حافظه سیستم و ۲ هسته CPU) دسترسی داشته باشید.
- داکر و داکر کامپوز را نصب کنید.
- یک نام دامنه، مانند
seafile.example.com, که به آدرس IP عمومی سرور شما اشاره میکند، پیکربندی کنید.
تنظیم ساختار دایرکتوری و متغیرهای محیطی #
دایرکتوری پروژه را برای ذخیره فایلهای پیکربندی و دادههای دائمی تنظیم کنید. همچنین باید متغیرهای محیطی را برای تعریف دامنه، کلیدهای امنیتی و اعتبارنامههای مدیریتی خود پیکربندی کنید.
- دایرکتوری
/opt/seafileرا ایجاد کنید.console$ sudo mkdir -p /opt/seafile - مالکیت دایرکتوری را به کاربر فعلی خود تغییر دهید. این به شما امکان میدهد بدون استفاده از
sudoبرای هر دستور، فایلها را مدیریت کنید.console$ sudo chown -R $USER:$USER /opt/seafile
- به دایرکتوری پروژه بروید.console
$ cd /opt/seafile
- الگوی رسمی متغیر محیطی را دانلود کنید.console
$ wget -O .env https://manual.seafile.com/latest/repo/docker/ce/env - برای تولید یک کلید مخفی امن، pwgen را نصب کنید.console
$ sudo apt install pwgen -y - یک رشته تصادفی ۴۰ کاراکتری برای متغیر
JWT_PRIVATE_KEYاز فایل.envتولید کنید.console$ pwgen -s ۴۰ ۱
رشته خروجی را کپی کنید تا در مرحله بعدی از آن استفاده کنید.
- فایل
.envرا ویرایش کنید.console$ nano .envمتغیرهای زیر را بهروزرسانی کنید:
- پیکربندی اولیه:
SEAFILE_SERVER_HOSTNAME: این را روی دامنه خود تنظیم کنید (مثلاًseafile.example.com).SEAFILE_SERVER_PROTOCOL:برای فعال کردن رمزگذاری TLS،httpرا بهhttpsتغییر دهید.JWT_PRIVATE_KEY: رشته تصادفی که در مرحله قبل تولید کردید را جایگذاری کنید.
- امنیت پایگاه داده:
SEAFILE_MYSQL_DB_PASSWORD: یک رمز عبور امن برای اتصال به پایگاه داده تنظیم کنید.INIT_SEAFILE_MYSQL_ROOT_PASSWORD: یک رمز عبور امن برای کاربر ریشه پایگاه داده تنظیم کنید.
- مدارک اداری:
INIT_SEAFILE_ADMIN_EMAIL: آدرس ایمیل خود را تنظیم کنید.INIT_SEAFILE_ADMIN_PASSWORD: یک رمز عبور قوی برای داشبورد مدیریت تنظیم کنید.
فایل را ذخیره کنید و ببندید.
- پیکربندی اولیه:
راه اندازی با Docker Compose #
فایلهای رسمی Docker Compose را دانلود کنید و سرویسها را شروع کنید. Seafile از یک تنظیمات ماژولار استفاده میکند که در آن اجزای مختلف در فایلهای YAML جداگانه تعریف میشوند.
- مانیفست سرور اصلی Seafile را دانلود کنید.console
$ wget https://manual.seafile.com/latest/repo/docker/ce/seafile-server.ymlفایل
seafile-server.ymlسرویسهای اصلی مورد نیاز برای همگامسازی فایل را تعریف میکند:- seafile: محفظه اصلی برنامه که ذخیرهسازی فایل، همگامسازی، نسخهبندی را مدیریت میکند و رابط وب را برای مدیریت فایل فراهم میکند.
- db: یک کانتینر MariaDB که دادههای کاربر و فرادادهها را ذخیره میکند.
- redis: یک حافظه پنهان و کارگزار پیام با کارایی بالا که توسط Seafile استفاده میشود.
- مانیفست افزونهی SeaDoc را دانلود کنید.console
$ wget https://manual.seafile.com/latest/repo/docker/seadoc.ymlفایل
seadoc.ymlسرویس seadoc را تعریف میکند. این کانتینر موتور سند را اجرا میکند که به چندین کاربر اجازه میدهد فایلهای.sdocرا به طور همزمان و بلادرنگ ویرایش کنند. - مانیفست وب سرور Caddy را دانلود کنید.console
$ wget https://manual.seafile.com/latest/repo/docker/caddy.ymlفایل
caddy.ymlسرویس caddy را تعریف میکند. Caddy به عنوان یک پروکسی معکوس عمل میکند که به طور خودکار گواهینامههای TLS را از Let’s Encrypt دریافت و تمدید میکند و دسترسی به سایت شما را از طریق HTTPS تضمین میکند. - حساب کاربری خود را به گروه کاربری docker اضافه کنید.console
$ sudo usermod -aG docker $USER
- عضویت جدید در گروه را اعمال کنید.console
$ newgrp docker - پشته Seafile را شروع کنید.console
$ docker compose up -dفایل
.envکه قبلاً دانلود شده است، حاوی یک متغیرCOMPOSE_FILEاست که به داکر دستور میدهد از هر سه فایل YAML(seafile-server.yml,caddy.yml,seadoc.yml) به طور همزمان استفاده کند. - تأیید کنید که کانتینرها در حال اجرا هستند.console
$ docker compose psنکتهبرای اطلاعات بیشتر در مورد مدیریت پشته Docker Compose، به مقاله نحوه استفاده از Docker Compose مراجعه کنید.
دسترسی به سی فایل #
- مرورگر وب خود را باز کنید و به دامنه خود بروید، مانند
https://seafile.example.com.
نصب و راه اندازی Seafile - برای دسترسی به داشبورد Seafile، با استفاده از ایمیل و رمز عبوری که در فایل .env تعریف کردهاید، وارد شوید.

نتیجه گیری #
با دنبال کردن این مقاله، شما با موفقیت Seafile را روی اوبونتو ۲۴.۰۴ مستقر کردید. اکنون یک ابر فایل خصوصی و امن با همکاری اسناد در لحظه و رمزگذاری HTTPS دارید. برای اطلاعات بیشتر، به دفترچه راهنمای رسمی Seafile مراجعه کنید.

