−25%

στα Windows με ετήσια χρέωση, έως 31/10. Δείτε τα πακέτα

EQVPS

VPS για Mastodon: το δικό σας μικρό instance

Φιλοξενήστε ένα μικρό instance Mastodon σε VPS: ειλικρινής εκτίμηση RAM και δίσκου, εγκατάσταση με Docker, email μέσω SMTP relay και καθάρισμα media για να μη γεμίσει ο δίσκος.

Το να έχετε δικό σας κοινωνικό λογαριασμό ακούγεται ωραίο, μέχρι να συνειδητοποιήσετε ότι ο λογαριασμός ζει στον server κάποιου άλλου, με τους δικούς του κανόνες και τον δικό του χρόνο λειτουργίας. Ένα δικό σας instance Mastodon το λύνει: το όνομά σας είναι @you@your-domain και κανείς εκτός από εσάς δεν μπορεί να το κλείσει. Το «αλλά» είναι ότι το Mastodon δεν είναι μικρή εφαρμογή. Καλό είναι να ξέρετε σε τι μπαίνετε.

Για ποιον είναι

Για κάτι μεγαλύτερο, τρέχετε πια υπηρεσία με υποχρεώσεις εποπτείας, αναφορές κατάχρησης και πραγματική υποδομή. Αυτό είναι άλλη κουβέντα.

Τι χρειάζεται στ' αλήθεια

Το Mastodon τρέχει πολλές διεργασίες μαζί: την web εφαρμογή σε Rails, workers του Sidekiq στο παρασκήνιο, έναν streaming server, PostgreSQL και Redis. Λόγω ομοσπονδίας, ο server σας συνεχίζει να τραβά αναρτήσεις και media από άλλους servers ακόμα κι όταν κοιμάστε.

InstanceΠλάνο
Ένας χρήστης, λίγοι που ακολουθείSmall-IP — 2 vCPU, 4 GB, $16/μήνα
Μικρή κοινότητα, ενεργή ομοσπονδίαMedium-IP — 4 vCPU, 6 GB, $20/μήνα

Τα 4 GB δουλεύουν αλλά είναι οριακά· οι ουρές του Sidekiq φουσκώνουν όταν μια δημοφιλής ανάρτηση που ακολουθείτε παίρνει χιλιάδες απαντήσεις. Τα 6 GB σας αφήνουν ανάσα. Ο άλλος περιορισμός είναι ο δίσκος — δείτε την ενότητα για τα media παρακάτω.

Χρειάζεστε επίσης domain και αποκλειστική IP: οι άλλοι servers παραδίδουν στον δικό σας στη θύρα 443.

Εγκατάσταση με Docker

Το επίσημο αποθετήριο περιέχει ένα docker-compose.yml. Σε καθαρό server με 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

Η εργασία ρύθμισης ζητά το domain, τις ρυθμίσεις βάσης και Redis (οι προεπιλογές ταιριάζουν με το αρχείο compose), τις ρυθμίσεις email και τον πρώτο λογαριασμό διαχειριστή. Γράφει τα πάντα στο .env.production. Διαβάστε τις σημειώσεις έκδοσης του tag που επιλέξατε — τα βήματα αλλάζουν πού και πού ανάμεσα σε κύριες εκδόσεις.

Το Mastodon περιλαμβάνει πρότυπο nginx στο dist/nginx.conf. Αντιγράψτε το στο /etc/nginx/sites-available/, αλλάξτε το domain και πάρτε πιστοποιητικό με certbot. Οι οδηγοί μας για reverse proxy και domain καλύπτουν και τα δύο.

Email: χρησιμοποιήστε relay

Το Mastodon στέλνει email επιβεβαίωσης και επαναφοράς κωδικού. Οι θύρες 25 και 465 είναι κλειστές στους servers μας, οπότε κατευθύνετε το Mastodon σε εξωτερικό πάροχο transactional email μέσω της θύρας 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 θα θέλατε έτσι κι αλλιώς. Τα email από ολοκαίνουργια IP server συχνά καταλήγουν στα spam· το relay έχει τη φήμη που εσείς δεν έχετε ακόμα.

Media: ο καταβροχθιστής του δίσκου

Κάθε εικόνα και βίντεο από λογαριασμούς που βλέπει ο server σας αποθηκεύεται τοπικά σε cache. Σε ενεργό instance αυτό σημαίνει gigabytes την εβδομάδα. Καθαρίζετε τακτικά τα παλιά απομακρυσμένα media:

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

Βάλτε τα σε ημερήσιο cron job. Αν το instance μεγαλώσει, μεταφέρετε τα media σε αποθήκευση αντικειμένων συμβατή με S3 με τις ρυθμίσεις S3_* στο .env.production — τότε ο δίσκος του VPS κρατά μόνο τη βάση.

Συντήρηση

Θέλετε κάτι ελαφρύτερο για chat ομάδας; Ένας server Matrix ίσως ταιριάζει καλύτερα.

Έτοιμοι για ανάπτυξη; Πληρωμή με crypto, χωρίς KYC — έτοιμο σε περίπου ένα λεπτό.

Ανάπτυξη τώρα →

Συχνές ερωτήσεις

Πόση RAM χρειάζεται ένα instance Mastodon;

Για instance ενός χρήστη ή μικρής ομάδας, τα 4 GB είναι το ρεαλιστικό ελάχιστο και τα 6 GB άνετα. Το Mastodon τρέχει ταυτόχρονα διεργασία web, workers του Sidekiq, PostgreSQL και Redis, και η ομοσπονδία κρατά το Sidekiq απασχολημένο ακόμα κι όταν κανείς δεν δημοσιεύει.

Γιατί το Mastodon χρειάζεται αποκλειστική IP;

Οι άλλοι servers παραδίδουν αναρτήσεις στον δικό σας μέσω HTTPS στη θύρα 443, και ο κόσμος ανοίγει το instance σας στον browser. Αυτό απαιτεί εισερχόμενη κίνηση στη 443 στη δική σας IP, κάτι που τα πλάνα NAT δεν έχουν.

Πώς στέλνω email από το Mastodon;

Μέσω εξωτερικού παρόχου transactional email με SMTP στη θύρα 587. Οι θύρες 25 και 465 είναι κλειστές στους servers μας, και ένα relay δίνει ούτως ή άλλως πολύ καλύτερη παράδοση από μια ολοκαίνουργια IP.

Γιατί ο δίσκος μου γεμίζει τόσο γρήγορα;

Ο server σας κρατά σε cache τα media κάθε λογαριασμού που βλέπει. Τρέχετε τακτικά το 'tootctl media remove --days 7' ή μεταφέρετε τα media σε αποθήκευση αντικειμένων συμβατή με S3.

Μπορώ να αλλάξω domain αργότερα;

Όχι. Το domain είναι μέρος της ταυτότητας κάθε λογαριασμού σε όλο το fediverse. Διαλέξτε το προσεκτικά πριν δημιουργήσετε τον πρώτο λογαριασμό.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.