Requirements
Before you install FediSuite, make sure you have everything you need. The requirements are modest: a small Linux server with Docker, a domain, a reverse proxy for HTTPS and a mailbox for outgoing email.
On this page
Server or VPS
FediSuite runs entirely through Docker Compose. A small Linux server or a cloud VPS is enough, and your own hardware works just as well. The images are available for linux/amd64 and linux/arm64.
Small instance (rule of thumb)
- 1 vCPU
- 1 GB RAM
- 20 GB storage
- Public IPv4 address
Recommended (rule of thumb)
- 2 vCPU
- 2 GB RAM
- 40 GB storage
- SSD storage
These figures are rough guidelines, not tested minimum requirements. The actual demand depends on the number of users, connected accounts and the amount of posts and attachments. The stack runs four containers: PostgreSQL, the app and two workers.
Domain & DNS
You need a domain that points to the public IP address of your server. You will enter this domain later as APP_URL. FediSuite itself only speaks HTTP on port 3000. The reverse proxy issues the HTTPS certificate (for example Traefik with Let's Encrypt, see the Reverse proxy page).
DNS configuration
Software
Docker and Docker Compose need to be installed on the server. The database, the app and the workers start through Docker Compose. HTTPS needs a reverse proxy, which either already runs or is added to the stack.
The container runtime. Install it from the official Docker repository or your distribution's package manager.
As a plugin (docker compose). Controls the entire FediSuite stack. The bundled Compose file uses health checks with depends_on and pull_policy.
Accepts HTTPS on port 443 and forwards to the app on port 3000. Traefik, Caddy or Nginx all work. The documentation shows Traefik with Let's Encrypt.
FediSuite sends email for registration, password reset and the historical import after connecting accounts. Host, port, user, password and sender address go into the .env.
For cloning the FediSuite-Self-Hosting repository and for later updates of the Compose file. Already pre-installed on most systems.
Network & Ports
The reverse proxy requires two open ports. These must be allowed through your server's firewall and must not be occupied by other services. Outbound, the server needs connections to the Fediverse instances of your users, to Docker Hub and to the SMTP server.
docker-compose.yml publishes port 3000 of the app container on the host ("3000:3000"). Docker bypasses firewalls such as ufw when it does this. With a reverse proxy you should remove the mapping or restrict it to 127.0.0.1:3000:3000. If another web server (Nginx, Apache) already uses port 80 or 443, it can act as the reverse proxy itself and forward to port 3000.
What you don't need
The Docker Compose stack brings the database, app and workers. You do not need to separately install or configure the following:
db container (PostgreSQL 15) in the stack