Fediversity/README.md
2024-03-19 19:43:20 -04:00

67 lines
2.3 KiB
Markdown

# How to start up a mastodon VM
```bash
nixos-rebuild build-vm --flake .#mastodon
./result/bin/run-nixos-vm
```
Now you can access mastodon at <https://mastodon.localhost:55001>
- You will have to "accept the security risk".
- It may take a minute for the webpage to come online. Until then you will see 502 Bad Gateway
Remember that if you want to clear the state from one launch to the next, you should delete the `nixos.qcow2` file that is created.
- email, when it works, will be accessible at <https://mastodon.localhost:55001/letter_opener>
## peertube
```bash
nixos-rebuild build-vm --flake .#peertube
./result/bin/run-nixos-vm
```
Now you can access peertube at <https://peertube.localhost:9000>
The root account can be logged in with username "root". The password can be obtained with the command
```bash
journalctl -u peertube | perl -ne '/password: (.*)/ && print $1'
```
or just
```bash
journalctl -u peertube | grep password
```
and look at the end of the line.
Creating other accounts has to be enabled via the admin interface. `Administration > Configuration > Basic > Enable Signup` or just add an account directly from `Administration > Create user`. But functionality can also be tested from the root account.
# TODOs
- [ ] set up a domain name and a DNS service so we can do deploy this to an actual machine
- [ ] set up an email service
- [ ] add logging
- [ ] errors / logs
- [ ] performance
- [ ] switch to garage / s3 storage
- SEE: https://docs.joinmastodon.org/admin/optional/object-storage/
- [ ] decouple the postgres database from this machine
- [ ] test with high use / throughput
- [ ] configure scaling behaviour
- SEE: https://docs.joinmastodon.org/admin/scaling/
- [ ] remove the need for "accept security risk" dialogue if possible
- [ ] development environment does not work seamlessly.
- [x] don't require proxy server
- either forward 443 directly, or get mastodon to accept connections on a different port (maybe 3000? see development environment documentation)
- [ ] get letter_opener working
# resources
- Tutorial for setting up better logging: https://krisztianfekete.org/self-hosting-mastodon-on-nixos-a-proof-of-concept/
- Setting up development environment: https://docs.joinmastodon.org/dev/setup/
- Tutorial for PeerTube that doesn't use `createLocally`: https://nixos.wiki/wiki/PeerTube