mirror of https://github.com/LemmyNet/lemmy.git
71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# Federation Development
|
|
|
|
## Setup
|
|
|
|
If you don't have a local clone of the Lemmy repo yet, just run the following command:
|
|
|
|
```bash
|
|
git clone https://github.com/LemmyNet/lemmy
|
|
```
|
|
|
|
## 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 docker/federation
|
|
./run-federation-test.bash -yarn
|
|
```
|
|
|
|
The federation test sets up 3 instances:
|
|
|
|
Instance / Username | Location
|
|
--- | ---
|
|
lemmy_alpha | [127.0.0.1:8540](http://127.0.0.1:8540)
|
|
lemmy_beta | [127.0.0.1:8550](http://127.0.0.1:8550)
|
|
lemmy_gamma | [127.0.0.1:8560](http://127.0.0.1:8560)
|
|
|
|
You can log into each using the instance name, and `lemmy` as the password, IE (`lemmy_alpha`, `lemmy`).
|
|
|
|
Firefox containers are a good way to test them interacting.
|
|
|
|
## Integration tests
|
|
|
|
To run a suite of suite of federation integration tests:
|
|
|
|
```bash
|
|
cd docker/federation-test
|
|
./run-tests.sh
|
|
```
|
|
|
|
## 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 turning on federation may break your instance.
|
|
|
|
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
|
|
tls_enabled: true,
|
|
allowed_instances: example.com,
|
|
}
|
|
```
|
|
|
|
Afterwards, and whenever 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
|
|
```
|