با میزبانی سرور Akkoma Fediverse خود در Raspberry Pi، رسانه های اجتماعی را به روش منبع باز انجام دهید.
Fediverse شبکهای از سرورهای رسانههای اجتماعی به هم پیوسته است که برای تشکیل یک شبکه منسجم، که در آن میتوانید افرادی را که به آنها علاقه دارید دنبال کرده و با آنها تعامل داشته باشید، با هم متحد میشوند.
در حالی که شناخته شده ترین نوع سرور Fediverse Mastodon است، Fediverse خانه ده ها نوع سرور است. Akkoma یک سرور کاملاً ویژه است که به راحتی در Raspberry Pi شما نصب می شود. در اینجا نحوه …
آکوما چیست؟
مانند تمام سرورهای Fediverse، Akkoma برای اجرا به پروتکل ActivityPub متکی است. این بر روی پایگاه کد محبوب Pleroma ساخته شده است، اما ویژگیهایی را از MissKey به عاریت میگیرد – مانند توانایی دیدن انواع سرورهایی که سایر حسابهای کاربری در حال اجرا هستند. Akkoma در حال توسعه بسیار فعال است و به طور منظم به روز می شود.
با Akkoma، میتوانید بستههای آیکون خود را اضافه کنید، انواع مختلفی از طعمهای علامتگذاری را در پستها به کار ببرید، آنچه را که در قسمت جلوی نمونه Fediverse شما استفاده میکند، سفارشی کنید، پستهای خود را ویرایش کنید، پستهای دیگران را نقل قول کنید، و محدودیت کاراکتر دلخواه تعیین کنید.
نحوه نصب Akkoma روی Raspberry Pi
همانطور که از Raspberry Pi خود به عنوان سرور استفاده می کنید، ابتدا باید راهنمای ما را در مورد نحوه راه اندازی Raspberry Pi خود به عنوان یک وب سرور دنبال کنید. در این مرحله نیازی نیست مراحل راه اندازی MariaDB، PHP یا Docker Compose را دنبال کنید.
هنگامی که Pi شما برای عملکرد به عنوان یک سرور آماده شد، از راه دور از طریق SSH به آن متصل شوید و سپس به صورت دستی آخرین نسخه Docker Compose را نصب کنید.
مخزن Akkoma Git را کلون کنید و به آن بروید:
git clone https://akkoma.dev/AkkomaGang/akkoma.git -b stable && cd akkoma
حالا متغیرهای محیطی Docker Compose را با دستور زیر تنظیم کنید:
cp docker-resources/env.example .env
echo "DOCKER_USER=$(id -u):$(id -g)" >> .env
این فرآیند چند دقیقه طول می کشد. هنگامی که به خط فرمان برگردانید، باید یک ظرف بسازید:
./docker-resources/build.sh
باز هم، این مدتی طول می کشد. ما این فرآیند را حدود سه دقیقه زمانبندی کردیم، که به شما فرصت زیادی میدهد تا سایر پروژههای خود میزبانی را که میتوانید روی Raspberry Pi اجرا کنید، یا شاید یک بازی Solitaire در ترمینال لینوکس انجام دهید، بررسی کنید.
فقط به این دلیل که یک کانتینر Docker ایجاد کرده اید به این معنی نیست که هنوز آماده اجرای آن هستید. گروه دستورات زیر را پیست کرده و Enter را فشار دهید.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh mix compile
./docker-resources/manage.sh mix pleroma.instance gen
وقتی از شما پرسیده می شود که آیا می خواهید Hex و rebar3 را نصب کنید، به Y پاسخ دهید. برنامه برای حدود 12 دقیقه دیگر کامپایل می شود. از این زمان برای گوش دادن به پادکست هایی استفاده کنید که مثبت اندیشی شما را تقویت می کند.
با احساس الهام و نشاط، باید به خط فرمان بازگردید و به سوالاتی در مورد نمونه خود پاسخ دهید. هنگامی که از شما خواسته شد، نام دامنه خود را بدون پیشوند http:// یا https:// وارد کنید، سپس نام نمونه و آدرس ایمیل خود را وارد کنید.
شما باید انتخاب کنید که آیا به موتورهای جستجو اجازه دهید سایت شما را فهرست بندی کنند (این به شما بستگی دارد)، و اینکه آیا پیکربندی را در پایگاه داده ذخیره کنید یا خیر. بله را برای این گزینه انتخاب کنید زیرا به شما امکان می دهد نمونه خود را از طریق رابط وب مدیر مدیریت کنید.
نام میزبان پایگاه داده خود را به صورت db تنظیم کنید، نام پایگاه داده و کاربر را به عنوان akkoma تأیید کنید و رمز عبور پایگاه داده را به عنوان akkoma وارد کنید.
شاخصهای RUM امکان جستجوی سریع پایگاه داده PostgreSQL را فراهم میکنند، بنابراین وقتی از شما پرسیده شد که آیا میخواهید از آنها استفاده کنید، روی y ضربه بزنید. پورت پیشفرض 4000 است. شما میتوانید این را به همان شکلی که هست رها کنید، مگر اینکه از پورت 4000 برای سایر نرمافزارهای خود میزبان استفاده کنید.
یک راه آسان برای بررسی پورت های در حال استفاده این است که پنجره یا برگه ترمینال دیگری را باز کنید و وارد کنید:
sudo lsof -i -P -n | grep LISTEN
IP را که برنامه به آن گوش می دهد 0.0.0.0 تنظیم کنید و پیش فرض های معقول را برای سؤالات باقی مانده بپذیرید.
این فرآیند با پیکربندی نمونه شما به config/generated_config.exs به پایان می رسد. این فایل را در یک مکان جدید کپی کنید:
cp config/generated_config.exs config/prod.secret.exs
دستور زیر شناسه کانتینر را به عنوان یک رشته 64 کاراکتری برمی گرداند. برای نگهداری آن را در جای دیگری کپی کنید. حالا از این دستور برای راه اندازی پایگاه داده استفاده کنید:
docker-compose run --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
هنگامی که ظرف با موفقیت راه اندازی شد، آن را با موارد زیر متوقف کنید:
docker stop container_id_you_noted_earlier
وارد:
./docker-resources/manage.sh mix ecto.migrate
… برای اجرای migrations و کامپایل مجدد فایل های خود. چندین اعلان می بینید که “بیش از 10 ثانیه طول می کشد” و این روند به راحتی زمان کافی برای تهیه یک فنجان چای در اختیار شما قرار می دهد.
نمونه شما به یک رابط برای تعامل کاربران نیاز دارد. در حال حاضر، شما فقط به قسمت جلویی Pleroma و قسمت جلویی مدیریت نیاز دارید:
./docker-resources/manage.sh mix pleroma.frontend install pleroma-fe --ref stable
./docker-resources/manage.sh mix pleroma.frontend install admin-fe --ref stable
اکنون برای ایجاد کاربر مدیریت آماده هستید. وارد:
./docker-resources/manage.sh mix pleroma.user new your-desired-username youremail@domain.tld --admin
این دستور خلاصه ای از اطلاعاتی را که تا کنون وارد کرده اید برمی گرداند. بررسی کنید درست است، سپس y را وارد کنید.
یک لینک برای بازنشانی رمز عبور مدیریت ایجاد می شود. از آنجایی که نمونه شما هنوز اجرا نمی شود و در معرض اینترنت نیست، پیوند را برای بعد یادداشت کنید.
نمونه Akkoma خود را در وب قرار دهید
شما باید یک فایل پیکربندی آپاچی برای نمونه Akkoma خود ایجاد کنید:
cd /etc/apache2/sites-available
sudo nano akkoma.conf
در فایل جدید موارد زیر را پیست کنید:
<VirtualHost *:80>
ServerName your-domain-name.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost On
</VirtualHost>
نانو را با Ctrl + O سپس Ctrl + X ذخیره کرده و از آن خارج شوید. فایل conf را فعال کنید، سپس Apache را مجددا راه اندازی کنید:
sudo a2ensite akkoma.conf
sudo service apache2 restart
اکنون از Certbot برای واکشی و استقرار گواهی ها و کلیدهای TLS استفاده کنید:
sudo certbot
نام دامنه خود را از لیست انتخاب کنید و Enter را فشار دهید. Apache را مجدداً راه اندازی کنید:
sudo service apache2 restart
به دایرکتوری Akkoma خود برگردید و Docker Compose را در حالت جدا شده باز کنید:
cd ~/akkoma
docker-compose up -d
چند دقیقه صبر کنید، سپس با استفاده از پیوند بازنشانی رمز عبور به نمونه Akkoma خود مراجعه کنید. مطمئن شوید که یک رمز عبور قوی برای ایمن سازی نمونه انتخاب کرده اید.
نمونه Akkoma خود را سفارشی کنید
قبل از انجام هر کار دیگری، باید از صفحه مدیریت وب خود در your-domain-name.tld/pleroma/admin بازدید کنید.
صدها گزینه در اینجا وجود دارد، اما می توانید با خیال راحت اکثر آنها را در حال حاضر نادیده بگیرید. Settings > Frontend را انتخاب کنید و تمام مواردی که امکان تغییر وجود دارد را بخوانید. ممکن است بخواهید یک جلوی متفاوت از Pleroma پیشفرض انتخاب کنید یا پسزمینه را روی تصویر دیگری تنظیم کنید.
دقیقاً آنچه را که در اینجا انتخاب می کنید به شما و کاربرانتان بستگی دارد. برای اینکه ایده ای از آنچه در دسترس است به شما ارائه دهیم، موارد زیر را در نمونه آزمایشی خود تنظیم می کنیم:
ما انتخاب کردیم که متن سبز را در خطوط پیشوند با کاراکتر > فعال کنیم. سبک نمایش مکالمه را روی درخت تنظیم کنید. ما لوگوی سایت را روی کارتونی از سر این نویسنده تنظیم کردیم و یک هشدار تصویر NSFW را آپلود کردیم.
به طور جدی تر، باید فید پیش فرضی را که کاربران هنگام ورود به سیستم می بینند، و آنچه بازدیدکنندگان وقتی وارد سیستم نمی شوند می بینند، نحوه چیدمان پانل ها، و طعم ها یا Markdown را که می خواهید ارائه دهید، انتخاب کنید.
وقتی از قسمت جلویی راضی بودید، به تنظیمات > نمونه بروید. نام سایت و توضیحات خود را تنظیم کنید، سپس به محدودیت ها نگاهی بیندازید.
در حالی که سایت های رسانه های اجتماعی معمولی محدودیت شخصیتی نسبتاً کمی دارند، می توانید هر چیزی را که می خواهید تنظیم کنید. ما یک محدودیت 750000 کاراکتری برای پستهای نمونه خود تعیین کردیم، اما تصمیم گرفتیم که پستها را از نمونههای راه دور به یک محدودیت 100000 نویسهی صرف کنیم. همچنین می توانید محدودیت هایی برای آپلود فایل و آواتارها تعیین کنید.
سایر ملاحظات حیاتی عبارتند از اینکه آیا میخواهید کاربران بتوانند مستقیماً در نمونه شما ثبت نام کنند، آیا سیستم فقط دعوت را ترجیح میدهید، و آیا میخواهید با سایر نمونهها متحد شوید یا سایت رسانه اجتماعی خود را در انزوا عالی اجرا کنید. گزینه های زیادی در تنظیمات وجود دارد، باید چند ساعتی را صرف آشنایی با آنها کنید.
وقتی کارتان تمام شد، از طریق URL اصلی خود وارد شوید و شروع به افزایش فالوورهای Fediverse خود کنید.
Akkoma تنها سرور Fediverse نیست
در حالی که Akkoma سرور مورد علاقه ما Fediverse است، و برای اجرای یک نمونه در Raspberry Pi شما ایده آل است، اما تنها یک مورد نیست.
Fediverse مکان ایده آلی برای ساخت یک میدان شهر آنلاین برای گروه هایی از افراد همفکر است و با آزمایش انواع مختلف، می توانید سرور مناسبی برای ایجاد جامعه آنلاین خود بیابید.