GoToSocial/docs/installation_guide/index.md
tobi 0884f89431
Implement Cobra CLI tooling, Viper config tooling (#336)
* start pulling out + replacing urfave and config

* replace many many instances of config

* move more stuff => viper

* properly remove urfave

* move some flags to root command

* add testrig commands to root

* alias config file keys

* start adding cli parsing tests

* reorder viper init

* remove config path alias

* fmt

* change config file keys to non-nested

* we're more or less in business now

* tidy up the common func

* go fmt

* get tests passing again

* add note about the cliparsing tests

* reorganize

* update docs with changes

* structure cmd dir better

* rename + move some files around

* fix dangling comma
2021-12-07 13:31:39 +01:00

2.2 KiB

System Requirements

GoToSocial needs a domain name, and a server to run on, either a homeserver in your house, or a cloud server.

Server / VPS

The system requirements for GoToSocial are fairly minimal: for a single-user instance with about 100 followers/followees, it uses somewhere between 50 to 100MB of RAM. CPU usage is only intensive when handling media (encoding blurhashes, mostly) and/or doing a lot of federation requests at the same time.

These light requirements mean GtS runs pretty well on something like a Raspberry Pi (a €40 single-board computer). It's been tested on a Raspberry Pi Zero W as well (a €9 computer smaller than a credit card), but it's not quite able to run on that. It should run on a Raspberry Pi Zero W 2 (which costs €14!), but we haven't tested that yet.

If you have an old laptop or a dusty desktop lying around that you're not using anymore, it will probably be a perfect candidate for running GoToSocial.

If you decide to use a VPS instead, you can just spin yourself up something cheap with Linux running on it.

Hostwinds is a good option here: it's cheap and they throw in a static IP address for free.

Greenhost is also great: it has zero co2 emissions, but is a bit more costly.

Ports

The installation guides won't go into running UFW and Fail2Ban but you absolutely should do that.

For ports, you should leave 443 and 80 open. 443 is used for https requests to GoToSocial, and 80 is used for LetsEncrypt certification verification.

If you can't leave 443 and 80 open on the machine, don't worry! You can configure these ports in GoToSocial, but you'll have to also configure port forwarding to properly forward traffic on 443 and 80 to whatever ports you choose.

Domain Name

To run a GoToSocial server, you also need a domain name, and it needs to be pointed towards your VPS or homeserver.

Namecheap is a good place to do this, but you can use any domain name registrar that lets you manage your own DNS.