If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.joinmastodon.org/admin/install - Installing from source - Masto.

site address: docs.joinmastodon.org/admin/install/ redirected to: docs.joinmastodon.org/admin/install

site title: Installing from source - Mastodon documentation

Our opinion (on Monday 06 July 2026 17:40:01 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Instructional guide on creating your own Mastodon-powered website.;

Headings (most frequently used words):

setting, up, installing, the, system, creating, mastodon, user, postgresql, configuration, from, source, pre, requisites, setup, sponsored, by, repositories, packages, acquiring, an, ssl, certificate, nginx, systemd, services, node, js, yarn, performance, optional, checking, out, code, ruby, last, dependencies, generating,

Text of the page (most frequently used words):
the (51), mastodon (42), and (18), your (17), etc (15), nginx (15), postgresql (15), you (14), admin (13), user (12), com (12), with (12), dev (12), #setting (11), rbenv (10), git (10), this (9), will (9), #install (9), apt (9), for (8), example (8), configuration (8), installing (8), live (7), ruby (7), server (7), can (6), domain (6), systemd (6), system (6), from (6), use (6), root (6), https (6), nodesource (6), source (5), available (5), now (5), new (5), that (5), are (5), home (5), directory (5), other (5), own (5), certificate (5), sites (5), setup (5), bundle (5), creating (5), account (5), list (5), running (5), using (5), systemctl (4), enable (4), services (4), service (4), correct (4), create (4), dependencies (4), config (4), build (4), echo (4), release (4), deb (4), keyrings (4), gpg (4), instance (4), profile (4), api (4), oauth (4), any (3), restart (3), access (3), letsencrypt (3), edit (3), certbot (3), ssl (3), done (3), switch (3), file (3), run (3), commands (3), yarn (3), version (3), clone (3), github (3), bashrc (3), code (3), main (3), appropriate (3), asc (3), wget (3), curl (3), machine (3), search (3), preferences (3), apps (3), reports (3), accounts (3), last (2), may (2), page (2), visit (2), browser (2), automatically (2), start (2), web (2), streaming (2), point (2), username (2), dist (2), copy (2), error (2), started (2), asset (2), www (2), data (2), make (2), need (2), pem (2), ssl_certificate_key (2), ssl_certificate (2), replace (2), name (2), enabled (2), conf (2), acquiring (2), documentation (2), production (2), database (2), bin (2), first (2), time (2), updating (2), path (2), versions (2), obtaining (2), tag (2), download (2), prompt (2), sudo (2), have (2), password (2), values (2), before (2), select (2), application (2), type (2), performance (2), optional (2), corepack (2), installed (2), packages (2), sources (2), signed (2), usr (2), share (2), org (2), media (2), gnupg (2), lsb (2), certificates (2), repositories (2), pre (2), requisites (2), guide (2), notificationpolicy (2), filter (2), report (2), quote (2), domainblock (2), notifications (2), trends (2), collections (2), domain_blocks (2), tokens (2), security (2), environment (2), implementing (2), posts (2), features (2), configuring (2), imprint, view, blog, join, sponsored, updated, 2026, also, 简体中文, improve, hurray, they, boot, sidekiq, daemon, reload, finally, editor, deviated, defaults, check, paths, templates, should, able, see, elephant, hitting, computer, screen, because, haven, process, yet, changes, take, effect, chmod, allow, users, traverse, files, adjustments, might, privkey, fullchain, uncomment, ignore, step, bringing, then, default, template, obtain, save, certonly, let, encrypt, get, free, exit, back, saved, review, liking, refer, env, schema, precompilation, rails, rails_env, interactive, wizard, generating, two, only, needed, going, later, just, enough, without, development, test, deployment, true, javascript, jemalloc, ruby_configure_opts, once, plugins, eval, init, export, manage, simplifies, them, when, releases, checkout, grep, sort, tail, latest, stable, checking, out, createdb, execute, postgres, psql, open, could, easiest, ident, authentication, simple, does, not, separate, used, linux, same, generated, restarting, details, optimal, generate, pgtune, adduser, disabled, under, which, python3, libidn, libicu, libjemalloc, libgdbm, nodejs, redis, libssl, libyaml, libreadline, zlib1g, libffi, protobuf, compiler, pkg, autoconf, bison, essential, imagemagick, ffmpeg, libvips, tools, libpq, libxslt1, update, lsb_release, pgdg, http, pub, repos, keys, accc4cf8, tee, node_24, nodistro, fssl, gpgkey, repo, key, dearmor, node, sure, aren, already, following, please, remember, email, delivery, smtp, subdomain, debian, ubuntu, instructional, powered, website, webpushsubscription, translation, token, termsofservice, suggestion, statussource, statusedit, status, shallowtag, shallowquote, scheduledstatus, rule, role, relationshipseveranceevent, relationship, reaction, quoteapproval, privacypolicy, previewcardauthor, previewcard, poll, notificationrequest, notificationfallback, notification, mediaattachment, marker, identityproof, filterstatus, filterresult, filterkeyword, featuredtag, featureapproval, familiarfollowers, extendeddescription, customemoji, conversation, context, collectionwithaccounts, collectionitem, collection, asyncrefresh, appeal, annualreport, announcement, measure, ipblock, emaildomainblock, domainallow, dimension, cohort, canonicalemailblock, accountwarning, entities, markers, lists, conversations, timelines, scheduled_statuses, polls, statuses, proofs, oembed, push, custom_emojis, announcements, health, grouped, async_refreshes, emails, annual, retention, measures, ip_blocks, email_domain_blocks, domain_allows, dimensions, canonical_email_blocks, tags, suggestions, mutes, followed_tags, follow_requests, filters, featured_tags, favourites, endorsements, bookmarks, blocks, methods, rate, limits, scopes, guidelines, best, practices, datetime, formats, rest, bearcaps, microformats, webfinger, activitypub, spec, compliance, design, reference, themes, css, styling, state, management, components, frontend, issues, responsible, disclosure, routes, structure, technical, overview, contributing, libraries, implementations, logging, client, app, playing, public, getting, developing, roles, webhooks, index, corruption, troubleshooting, errors, moderation, actions, scaling, migrating, backing, upgrading, cli, single, sign, captcha, onion, object, storage, full, text, preparing, official, ios, android, moving, leaving, externally, more, settings, set, promoting, yourself, others, dealing, unwanted, content, quoting, network, posting, signing, what,


Text of the page (random words):
installing from source mastodon documentation what is mastodon using mastodon signing up for an account setting up your profile posting to your profile using the network features quoting other posts dealing with unwanted content promoting yourself and others set your preferences more settings using mastodon externally moving or leaving accounts official ios and android apps running your own server running mastodon preparing your machine installing from source configuring your environment configuring full text search installing optional features object storage onion services captcha single sign on setting up your new instance using the admin cli upgrading to a new release backing up your server migrating to a new machine scaling up your server moderation actions troubleshooting errors database index corruption webhooks roles developing mastodon apps getting started with the api playing with public data obtaining client app access logging in with an account libraries and implementations implementing quote posts implementing collections contributing to mastodon technical overview setting up a dev environment code structure routes security issues and responsible disclosure frontend guide components state management css and styling creating themes design tokens reference spec compliance activitypub webfinger security microformats oauth bearcaps rest api datetime formats guidelines and best practices oauth tokens oauth scopes rate limits api methods accounts blocks bookmarks domain_blocks endorsements favourites featured_tags filters follow_requests followed_tags mutes preferences reports suggestions tags admin accounts canonical_email_blocks dimensions domain_allows domain_blocks email_domain_blocks ip_blocks measures reports retention trends annual reports apps emails oauth async_refreshes collections grouped notifications health instance announcements custom_emojis directory trends notifications push oembed profile proofs search statuses media polls scheduled_statuses timelines conversations lists markers streaming api entities account accountwarning admin account admin canonicalemailblock admin cohort admin dimension admin domainallow admin domainblock admin emaildomainblock admin ip admin ipblock admin measure admin report announcement annualreport appeal application asyncrefresh collection collectionitem collectionwithaccounts context conversation customemoji domainblock error extendeddescription familiarfollowers featureapproval featuredtag filter filterkeyword filterresult filterstatus identityproof instance list marker mediaattachment notification notificationfallback notificationpolicy notificationrequest poll preferences previewcard previewcardauthor privacypolicy profile quote quoteapproval reaction relationship relationshipseveranceevent report role rule scheduledstatus search shallowquote shallowtag status statusedit statussource suggestion tag termsofservice token translation v1 filter v1 instance v1 notificationpolicy webpushsubscription installing from source instructional guide on creating your own mastodon powered website pre requisites system repositories system packages creating the mastodon user setup setting up postgresql setting up mastodon acquiring an ssl certificate setting up nginx setting up systemd services pre requisites a machine running ubuntu 24 04 or debian 13 that you have root access to a domain name or a subdomain for the mastodon server e g example com an email delivery service or other smtp server we will be using example com as the domain in the following example please remember to replace it with your own domain before running any commands you will be running the commands as root if you aren t already root switch to root sudo i system repositories make sure curl wget gnupg lsb release and ca certificates are installed first apt install y curl wget gnupg lsb release ca certificates node js curl fssl https deb nodesource com gpgkey nodesource repo gpg key gpg dearmor o etc apt keyrings nodesource gpg echo deb signed by etc apt keyrings nodesource gpg https deb nodesource com node_24 x nodistro main tee etc apt sources list d nodesource list postgresql wget o usr share keyrings postgresql asc https www postgresql org media keys accc4cf8 asc echo deb signed by usr share keyrings postgresql asc http apt postgresql org pub repos apt lsb_release cs pgdg main etc apt sources list d postgresql list system packages apt update apt install y imagemagick ffmpeg libvips tools libpq dev libxslt1 dev file git protobuf compiler pkg config autoconf bison build essential libssl dev libyaml dev libreadline dev zlib1g dev libffi dev libgdbm dev nginx nodejs redis server postgresql certbot python3 certbot nginx libidn dev libicu dev libjemalloc dev yarn enable corepack so that the correct version of yarn can be installed automatically corepack enable creating the mastodon user this is the user account under which mastodon will run adduser disabled password mastodon setup setting up postgresql performance configuration optional for optimal performance you may use pgtune to generate an appropriate configuration select the appropriate pg version and os type select web application for db type use details appropriate to your server for the other values with the generated configuration edit the values in etc postgresql 18 main postgresql conf before restarting postgresql with systemctl restart postgresql creating a user you will need to create a postgresql user that mastodon could use it is easiest to go with ident authentication in a simple setup i e the postgresql user does not have a separate password and can be used by the linux user with the same username open the prompt sudo u postgres psql in the prompt execute create user mastodon createdb q done setting up mastodon it is time to download the mastodon code switch to the mastodon user su mastodon checking out the code use git to download the latest stable release of mastodon git clone https github com mastodon mastodon git live cd live git checkout git tag l grep v 0 9 sort v tail n 1 installing ruby we will use rbenv to manage ruby versions as it simplifies obtaining the correct versions and updating them when new releases are available install rbenv and ruby build git clone https github com rbenv rbenv git rbenv echo export path home rbenv bin path bashrc echo eval rbenv init bashrc source bashrc git clone https github com rbenv ruby build git rbenv root plugins ruby build once this is done we can install the correct ruby version ruby_configure_opts with jemalloc rbenv install installing the last dependencies now to install ruby and javascript dependencies bundle config deployment true bundle config without development test bundle install yarn install the two bundle config commands are only needed the first time you re installing dependencies if you re going to be updating or re installing dependencies later just bundle install will be enough generating a configuration run the interactive setup wizard rails_env production bin rails mastodon setup this will create a configuration file run asset precompilation create the database schema the configuration file is saved as env production you can review and edit it to your liking refer to the documentation on configuration you re done with the mastodon user for now so switch back to root exit acquiring an ssl certificate we ll use let s encrypt to get a free ssl certificate certbot certonly nginx d example com this will obtain the certificate and save it in the directory etc letsencrypt live example com setting up nginx copy the configuration template for nginx from the mastodon directory cp home mastodon live dist nginx conf etc nginx sites available mastodon ln s etc nginx sites available mastodon etc nginx sites enabled mastodon rm etc nginx sites enabled default then edit etc nginx sites available mastodon to replace example com with your own domain name uncomment the ssl_certificate and ssl_certificate_key ignore this step if you are bringing your own certificate ssl_certificate etc letsencrypt live example com fullchain pem ssl_certificate_key etc letsencrypt live example com privkey pem make any other adjustments you might need allow other users to traverse the mastodon user s home directory so that nginx s www data user can access asset files chmod o x home mastodon restart nginx for the changes to take effect systemctl restart nginx at this point you should be able to visit your domain in the browser and see the elephant hitting the computer screen error page this is because we haven t started the mastodon process yet setting up systemd services copy the systemd service templates from the mastodon directory cp home mastodon live dist mastodon service etc systemd system if you deviated from the defaults at any point check that the username and paths are correct editor etc systemd system mastodon service finally start and enable the new systemd services systemctl daemon reload systemctl enable now mastodon web mastodon sidekiq mastodon streaming they will now automatically start at boot hurray this is it you can visit your domain in the browser now last updated may 21 2026 improve this page also available in 简体中文 sponsored by join mastodon blog view source cc by sa 4 0 imprint
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • Mastodon
  • Stephen Tures
  • Swayable

Verified site has: 191 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190 191-191


The site also has references to the 2 subdomain(s)

  joinmastodon.org  Verify   blog.joinmastodon.org  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
Connection close
Content-Length 162
Server GitHub.com
Content-Type text/html
Location htt????/docs.joinmastodon.org/admin/install/
X-GitHub-Request-Id 91E6:C352:47B65DC:48666EA:6A4BE871
Accept-Ranges bytes
Age 0
Date Mon, 06 Jul 2026 17:40:01 GMT
Via 1.1 varnish
X-Served-By cache-rtm-ehrd2290049-RTM
X-Cache MISS
X-Cache-Hits 0
X-Timer S1783359601.210963,VS0,VE100
Vary Accept-Encoding
X-Fastly-Request-ID 6dac3ef247462bfb429c09ee7be60ce1814b81b4
HTTP/2 200
server GitHub.com
content-type text/html; charset=utf-8
last-modified Thu, 02 Jul 2026 05:48:17 GMT
access-control-allow-origin *
strict-transport-security max-age=31556952
etag W/ 6a45fba1-b2b6
expires Mon, 06 Jul 2026 17:50:01 GMT
cache-control max-age=600
content-encoding gzip
x-proxy-cache MISS
x-github-request-id 8186:429DD:9369C7:99E0E5:6A4BE871
accept-ranges bytes
age 0
date Mon, 06 Jul 2026 17:40:01 GMT
via 1.1 varnish
x-served-by cache-lcy-egml8630026-LCY
x-cache MISS
x-cache-hits 0
x-timer S1783359601.338164,VS0,VE93
vary Accept-Encoding
x-fastly-request-id 3b8d03463478edf2998c1f3e3d91b92592e85db0
content-length 8770

Meta Tags

title="Installing from source - Mastodon documentation"
charset="utf-8"
name="viewport" content="width=device-width,initial-scale=1"
property="og:type" content="article"
property="og:url" content="htt????/docs.joinmastodon.org/admin/install/"
name="description" content="Instructional guide on creating your own Mastodon-powered website."
property="og:description" content="Instructional guide on creating your own Mastodon-powered website."
name="twitter:site" content="@joinmastodon"

Load Info

page size8770
load time (s)0.302952
redirect count1
speed download29039
server IP 185.199.110.153
* all occurrences of the string "http://" have been changed to "htt???/"