lemmy/docs/src/contributing_federation_dev...

61 lines
1.7 KiB
Markdown
Raw Normal View History

# Federation Development
## Setup
If you don't have a local clone of the Lemmy repo yet, just run the following command:
```bash
2020-04-21 11:24:08 +00:00
git clone https://yerbamate.dev/LemmyNet/lemmy.git -b federation
```
If you already have the Lemmy repo cloned, you need to add a new remote:
```bash
2020-04-21 11:24:08 +00:00
git remote add federation https://yerbamate.dev/LemmyNet/lemmy.git
git checkout federation
git pull federation federation
```
2020-04-21 11:24:08 +00:00
## Running locally
You need to have the following packages installed, the Docker service needs to be running.
- docker
- docker-compose
- cargo
- yarn
Then run the following
```bash
cd dev/federation-test
./run-federation-test.bash
```
After the build is finished and the docker-compose setup is running, open [127.0.0.1:8540](http://127.0.0.1:8540) and
2020-04-21 11:24:08 +00:00
[127.0.0.1:8550](http://127.0.0.1:8550) in your browser to use the test instances. You can login as admin with
username `lemmy_alpha` and `lemmy_beta` respectively, with password `lemmy`.
2020-04-21 11:24:08 +00:00
## Running on a server
Note that federation is currently in alpha. Only use it for testing, not on any production server, and be aware
that you might have to wipe the instance data at one point or another.
Follow the normal installation instructions, either with [Ansible](administration_install_ansible.md) or
[manually](administration_install_docker.md). Then replace the line `image: dessalines/lemmy:v0.x.x` in
`/lemmy/docker-compose.yml` with `image: dessalines/lemmy:federation`. Also add the following in
`/lemmy/lemmy.hjson`:
```
federation: {
enabled: true
instance_whitelist: example.com
}
```
Afterwards, and whenver you want to update to the latest version, run these commands on the server:
```
cd /lemmy/
sudo docker-compose pull
sudo docker-compose up -d
```