
Deploy Mastodon on Your Own Server
Social networking, back in your hands.
🛠️ Developer Tools
想更快部署 Mastodon到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。
什么是 Mastodon?
Your self-hosted, globally interconnected microblogging community
自托管 Mastodon
按照以下步骤在您的服务器上部署。
1
安装 Docker
如果服务器上已安装 Docker,可跳过此步骤。
curl -fsSL https://get.docker.com | sh
2
配置
自定义以下设置。大多数情况下使用默认值即可。
General
3
部署
复制配置并在服务器上运行。
services:
mastodon:
environment:
ALTERNATE_DOMAINS: ""
DB_HOST: mastodon-postgres
DB_NAME: mastodon_production
DB_PASS: b8d7a42e159a
DB_PORT: "5432"
DB_USER: mastodon
ES_ENABLED: "false"
LOCAL_DOMAIN: mastodon.your-domain.com
OTP_SECRET: 0ce010a12c9a1be276472208344a6e3d0e323e9860e3b2eb381bfc53b21a78f5
RAILS_ENV: production
REDIS_HOST: mastodon-redis
REDIS_PASSWORD: 2175164e5e4f
REDIS_PORT: "6379"
S3_ENABLED: "false"
SECRET_KEY_BASE: 5809a5c2d14d05a801ffc45ca2b2df6faa115fc7ccfa741a0428b596e57b807e
SINGLE_USER_MODE: "false"
SMTP_FROM_ADDRESS: ""
SMTP_LOGIN: ""
SMTP_PASSWORD: ""
SMTP_PORT: ""
SMTP_SERVER: ""
SMTP_TLS: ""
VAPID_PRIVATE_KEY: d43412918dc88f7a
VAPID_PUBLIC_KEY: b57903651cf0fa92
volumes:
- mastodon-system:/mastodon/public/system
mastodon-postgres:
image: postgres:14-alpine
environment:
POSTGRES_DB: mastodon_production
POSTGRES_PASSWORD: b8d7a42e159a
POSTGRES_USER: mastodon
volumes:
- mastodon-postgres-data:/var/lib/postgresql/data
mastodon-redis:
environment:
REDIS_PASSWORD: 2175164e5e4f
volumes:
- mastodon-redis-data:/data
mastodon-sidekiq:
environment:
ALTERNATE_DOMAINS: ""
DB_HOST: mastodon-postgres
DB_NAME: mastodon_production
DB_PASS: b8d7a42e159a
DB_PORT: "5432"
DB_USER: mastodon
ES_ENABLED: "false"
LOCAL_DOMAIN: mastodon.your-domain.com
OTP_SECRET: 0ce010a12c9a1be276472208344a6e3d0e323e9860e3b2eb381bfc53b21a78f5
RAILS_ENV: production
REDIS_HOST: mastodon-redis
REDIS_PASSWORD: 2175164e5e4f
REDIS_PORT: "6379"
S3_ENABLED: "false"
SECRET_KEY_BASE: 5809a5c2d14d05a801ffc45ca2b2df6faa115fc7ccfa741a0428b596e57b807e
SINGLE_USER_MODE: "false"
SMTP_FROM_ADDRESS: ""
SMTP_LOGIN: ""
SMTP_PASSWORD: ""
SMTP_PORT: ""
SMTP_SERVER: ""
SMTP_TLS: ""
VAPID_PRIVATE_KEY: 3a2009fdcaccc935
VAPID_PUBLIC_KEY: e04f86896842be58
volumes:
- mastodon-system:/mastodon/public/system
mastodon-streaming:
environment:
ALTERNATE_DOMAINS: ""
DB_HOST: mastodon-postgres
DB_NAME: mastodon_production
DB_PASS: b8d7a42e159a
DB_PORT: "5432"
DB_USER: mastodon
ES_ENABLED: "false"
LOCAL_DOMAIN: mastodon.your-domain.com
OTP_SECRET: 0ce010a12c9a1be276472208344a6e3d0e323e9860e3b2eb381bfc53b21a78f5
RAILS_ENV: production
REDIS_HOST: mastodon-redis
REDIS_PASSWORD: 2175164e5e4f
REDIS_PORT: "6379"
S3_ENABLED: "false"
SECRET_KEY_BASE: 5809a5c2d14d05a801ffc45ca2b2df6faa115fc7ccfa741a0428b596e57b807e
SINGLE_USER_MODE: "false"
SMTP_FROM_ADDRESS: ""
SMTP_LOGIN: ""
SMTP_PASSWORD: ""
SMTP_PORT: ""
SMTP_SERVER: ""
SMTP_TLS: ""
VAPID_PRIVATE_KEY: 8d17ce73e9d73746
VAPID_PUBLIC_KEY: fe8ec912bd5f16d1
volumes:
- mastodon-system:/mastodon/public/system
volumes:
mastodon-system: {}
mastodon-postgres-data: {}
mastodon-redis-data: {}
然后运行:
docker compose up -d
4
访问
启动后,访问您的应用: http://localhost:3000
为什么要自托管 Mastodon?
完全数据所有权
数据保存在您的服务器上,无第三方访问。
无月费
只需支付服务器费用,无按席位或用量收费。
完全控制
按您的需求自定义、备份和扩展。
隐私与合规
满足 GDPR、HIPAA 或内部安全要求。
技术细节
想更快部署?
尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。
在任意 Linux 服务器上安装:
sh -c "$(curl -sSL https://get.senate.sh)"