−25%

Windows รายปี ถึง 31 ต.ค. ดูแพ็กเกจ

EQVPS

VPS สำหรับ Mastodon: อินสแตนซ์เล็กๆ ของคุณเอง

โฮสต์อินสแตนซ์ Mastodon เล็กๆ บน VPS: ประเมิน RAM และดิสก์แบบตรงไปตรงมา ติดตั้งด้วย Docker ส่งอีเมลผ่าน SMTP relay และล้างสื่อไม่ให้ดิสก์เต็ม

การเป็นเจ้าของบัญชีโซเชียลเองฟังดูดี จนกระทั่งคุณรู้ว่าบัญชีนั้นอยู่บนเซิร์ฟเวอร์ของคนอื่น ภายใต้กฎและเวลาทำงานของเขา อินสแตนซ์ Mastodon ของคุณเองแก้เรื่องนี้ได้: แฮนเดิลของคุณคือ @you@your-domain และไม่มีใครปิดมันได้นอกจากคุณ ข้อแม้คือ Mastodon ไม่ใช่แอปเล็กๆ ควรรู้ก่อนว่ากำลังจะเจออะไร

เหมาะกับใคร

ใหญ่กว่านั้นแปลว่าคุณกำลังรันบริการที่มีหน้าที่ดูแลเนื้อหา รับเรื่องร้องเรียนการใช้งานผิด และโครงสร้างพื้นฐานจริงจัง นั่นเป็นอีกเรื่องหนึ่ง

ต้องใช้อะไรจริงๆ

Mastodon รันหลายโปรเซสพร้อมกัน: เว็บแอป Rails, worker เบื้องหลังของ Sidekiq, เซิร์ฟเวอร์สตรีมมิง, PostgreSQL และ Redis ด้วยการเชื่อมเครือข่าย เซิร์ฟเวอร์ของคุณจะดึงโพสต์และสื่อจากเซิร์ฟเวอร์อื่นต่อไปแม้ตอนคุณหลับ

อินสแตนซ์แพ็กเกจ
ผู้ใช้คนเดียว ติดตามไม่มากSmall-IP — 2 vCPU, 4 GB, $16/เดือน
ชุมชนเล็ก เชื่อมเครือข่ายคึกคักMedium-IP — 4 vCPU, 6 GB, $20/เดือน

4 GB ใช้ได้แต่ตึง คิวของ Sidekiq จะล้นเมื่อโพสต์ดังที่คุณติดตามได้คำตอบเป็นพัน 6 GB ให้พื้นที่หายใจ ข้อจำกัดอีกอย่างคือดิสก์ — ดูส่วนสื่อด้านล่าง

คุณต้องมีโดเมนและ IP เฉพาะ ด้วย: เซิร์ฟเวอร์อื่นส่งมาที่เซิร์ฟเวอร์ของคุณบนพอร์ต 443

ติดตั้งด้วย Docker

คลังทางการมี docker-compose.yml มาให้ บนเซิร์ฟเวอร์ Ubuntu 24.04 ใหม่ที่ติดตั้ง Docker แล้ว:

git clone https://github.com/mastodon/mastodon.git
cd mastodon
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
touch .env.production
docker compose run --rm -v $(pwd)/.env.production:/opt/mastodon/.env.production \
  web bundle exec rake mastodon:setup
docker compose up -d

งานตั้งค่าจะถามโดเมน การตั้งค่าฐานข้อมูลและ Redis (ค่าเริ่มต้นตรงกับไฟล์ compose) การตั้งค่าอีเมล และบัญชีแอดมินแรก แล้วเขียนทุกอย่างลง .env.production อ่านบันทึกการออกรุ่นของแท็กที่คุณเลือก — ขั้นตอนเปลี่ยนบ้างระหว่างรุ่นใหญ่

Mastodon มีเทมเพลต nginx อยู่ที่ dist/nginx.conf คัดลอกไปที่ /etc/nginx/sites-available/ เปลี่ยนโดเมน แล้วขอใบรับรองด้วย certbot คู่มือreverse proxy และโดเมน ของเราครอบคลุมทั้งสองเรื่อง

อีเมล: ใช้ relay

Mastodon ส่งอีเมลยืนยันและรีเซ็ตรหัสผ่าน พอร์ต 25 และ 465 ปิดอยู่บนเซิร์ฟเวอร์ของเรา ให้ชี้ Mastodon ไปที่ผู้ให้บริการอีเมลธุรกรรมภายนอกผ่านพอร์ต 587:

SMTP_SERVER=smtp.your-provider.example
SMTP_PORT=587
SMTP_LOGIN=apikey
SMTP_PASSWORD=your-smtp-password
SMTP_FROM_ADDRESS=notifications@your-domain.example

พูดตรงๆ ยังไงคุณก็อยากได้ relay อยู่ดี อีเมลจาก IP เซิร์ฟเวอร์ใหม่เอี่ยมมักตกไปอยู่ในสแปม relay มีชื่อเสียงที่คุณยังไม่มี

สื่อ: ตัวกินดิสก์

ทุกรูปและวิดีโอจากบัญชีที่เซิร์ฟเวอร์ของคุณเห็นจะถูกแคชไว้ในเครื่อง บนอินสแตนซ์ที่คึกคักนั่นคือหลายกิกะไบต์ต่อสัปดาห์ ล้างสื่อจากภายนอกที่เก่าตามรอบเวลา:

docker compose exec web tootctl media remove --days 7
docker compose exec web tootctl preview_cards remove --days 30

ใส่ไว้ใน cron job รายวัน ถ้าอินสแตนซ์โตขึ้น ให้ย้ายสื่อไปที่เก็บอ็อบเจกต์ที่รองรับ S3 ด้วยการตั้งค่า S3_* ใน .env.production — แล้วดิสก์ของ VPS จะเก็บแค่ฐานข้อมูล

การดูแล

อยากได้อะไรที่เบากว่านี้สำหรับแชตทีม? เซิร์ฟเวอร์ Matrix อาจเหมาะกว่า

พร้อม deploy แล้วหรือยัง? จ่ายด้วยคริปโต ไม่ต้อง KYC — ใช้งานได้ในราวหนึ่งนาที

Deploy เลย →

FAQ

อินสแตนซ์ Mastodon ต้องใช้ RAM เท่าไร?

สำหรับอินสแตนซ์คนเดียวหรือขนาดเล็ก 4 GB คือขั้นต่ำที่ใช้จริงได้ และ 6 GB กำลังสบาย Mastodon รันโปรเซสเว็บ worker ของ Sidekiq, PostgreSQL และ Redis พร้อมกัน และการเชื่อมเครือข่ายทำให้ Sidekiq ยุ่งตลอดแม้ไม่มีใครโพสต์

ทำไม Mastodon ต้องใช้ IP เฉพาะ?

เซิร์ฟเวอร์อื่นส่งโพสต์มาที่เซิร์ฟเวอร์ของคุณผ่าน HTTPS บนพอร์ต 443 และผู้คนเปิดอินสแตนซ์ของคุณในเบราว์เซอร์ นั่นต้องมีทราฟฟิกขาเข้าพอร์ต 443 บน IP ของคุณเอง ซึ่งแพ็กเกจ NAT ไม่มี

ส่งอีเมลจาก Mastodon อย่างไร?

ใช้ผู้ให้บริการอีเมลธุรกรรมภายนอกผ่าน SMTP บนพอร์ต 587 พอร์ต 25 และ 465 ปิดอยู่บนเซิร์ฟเวอร์ของเรา และ relay ก็ส่งถึงกล่องจดหมายได้ดีกว่า IP ใหม่เอี่ยมมาก

ทำไมดิสก์เต็มเร็วจัง?

เซิร์ฟเวอร์ของคุณแคชสื่อจากทุกบัญชีที่มันเห็น รัน 'tootctl media remove --days 7' ตามรอบเวลา หรือย้ายสื่อไปที่เก็บอ็อบเจกต์ที่รองรับ S3

เปลี่ยนโดเมนทีหลังได้ไหม?

ไม่ได้ โดเมนเป็นส่วนหนึ่งของตัวตนของทุกบัญชีทั่วทั้ง fediverse เลือกให้ดีก่อนสร้างบัญชีแรก

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง