summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/src/administration_configuration.md2
-rw-r--r--docs/src/contributing_federation_development.md44
-rw-r--r--docs/src/contributing_tests.md4
-rw-r--r--docs/src/lemmy_council.md65
4 files changed, 73 insertions, 42 deletions
diff --git a/docs/src/administration_configuration.md b/docs/src/administration_configuration.md
index cc421b0b..56448de4 100644
--- a/docs/src/administration_configuration.md
+++ b/docs/src/administration_configuration.md
@@ -7,7 +7,7 @@ can copy the options you want to change into your local `config.hjson` file.
Additionally, you can override any config files with environment variables. These have the same
name as the config options, and are prefixed with `LEMMY_`. For example, you can override the
-`database.password` with `LEMMY__DATABASE__POOL_SIZE=10`.
+`database.password` with `LEMMY_DATABASE__POOL_SIZE=10`.
An additional option `LEMMY_DATABASE_URL` is available, which can be used with a PostgreSQL
connection string like `postgres://lemmy:password@lemmy_db:5432/lemmy`, passing all connection
diff --git a/docs/src/contributing_federation_development.md b/docs/src/contributing_federation_development.md
index 520a6127..143ae9f8 100644
--- a/docs/src/contributing_federation_development.md
+++ b/docs/src/contributing_federation_development.md
@@ -5,14 +5,7 @@
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 -b federation
-```
-
-If you already have the Lemmy repo cloned, you need to add a new remote:
-```bash
-git remote add federation https://github.com/LemmyNet/lemmy
-git checkout federation
-git pull federation federation
+git clone https://github.com/LemmyNet/lemmy
```
## Running locally
@@ -26,18 +19,34 @@ You need to have the following packages installed, the Docker service needs to b
Then run the following
```bash
-cd dev/federation-test
-./run-federation-test.bash
+cd docker/federation
+./run-federation-test.bash -yarn
```
-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
-[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`.
+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 you might have to wipe the instance data at one point or another.
+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
@@ -47,11 +56,12 @@ Follow the normal installation instructions, either with [Ansible](administratio
```
federation: {
enabled: true
- allowed_instances: example.com
+ tls_enabled: true,
+ allowed_instances: example.com,
}
```
-Afterwards, and whenver you want to update to the latest version, run these commands on the server:
+Afterwards, and whenever you want to update to the latest version, run these commands on the server:
```
cd /lemmy/
diff --git a/docs/src/contributing_tests.md b/docs/src/contributing_tests.md
index 13e5d122..d4168e19 100644
--- a/docs/src/contributing_tests.md
+++ b/docs/src/contributing_tests.md
@@ -7,9 +7,7 @@ following commands in the `server` subfolder:
```bash
psql -U lemmy -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"
-export DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
-diesel migration run
-RUST_TEST_THREADS=1 cargo test
+./test.sh
```
### Federation
diff --git a/docs/src/lemmy_council.md b/docs/src/lemmy_council.md
index 9b24522a..d5b9c790 100644
--- a/docs/src/lemmy_council.md
+++ b/docs/src/lemmy_council.md
@@ -3,30 +3,52 @@
- A group of lemmy developers and users that use a well-defined democratic process to steer the project in a positive direction, keep it aligned to community goals, and resolve conflicts.
- Council members are also added as administrators to any official Lemmy instances.
-## Voting / Decision-Making
+## 1. What gets voted on
-### Process
-- Anything is open for discussion
-- Voting done through matrix chat reacts (thumbs up/thumbs down)
-- Require a simple majority for votes. (Maybe 2/3rds for more debated decisions).
-- Once a decision is reached democratically, the dicision is binding and all group members have to follow it
-- All members of the Lemmy council have equal voting power.
-- Voting must stay open for at least 2 days.
+This section describes all the aspects of Lemmy where the council has decision making power, namely:
-### What gets voted on
-- Membership (joining, removing)
- Coding direction
- Priorities / Emphasis
- Controversial features (For example, an unpopular feature should be removed)
-- Communication mediums
-- Conflict resolution
-- dev.lemmy.ml (domain and server)
-- lemmy.ml and subdomains (excluding communism.lemmy.ml)
-- git repo including mirrors (on github, gitea, etc)
-- Any official accounts of the Lemmy project, for example the Mastodon account or the Liberapay account
+- Moderation and conflict resolution on:
+ - [dev.lemmy.ml](https://dev.lemmy.ml/)
+ - [github.com/LemmyNet/lemmy](https://github.com/LemmyNet/lemmy)
+ - [yerbamate.dev/LemmyNet/lemmy](https://yerbamate.dev/LemmyNet/lemmy)
+ - [weblate.yerbamate.dev/projects/lemmy/](https://weblate.yerbamate.dev/projects/lemmy/)
+- Technical administration of dev.lemmy.ml
+- Official Lemmy accounts
+ - [Mastodon](https://mastodon.social/@LemmyDev)
+ - [Liberapay](https://liberapay.com/Lemmy/)
+ - [Patreon](https://www.patreon.com/dessalines)
+- Council membership changes
- Changes to these rules
-## Joining
+## 2. Feedback and Activity Reports
+
+Every week, the council should make a thread on Lemmy that details its activity during the past week, be it development, moderation, or anything else mentioned in 1.
+
+At the same time, users can give feedback and suggestions in this thread. This should be taken into account by the council. Council members can call for a vote on any controversial issues, if they can't be resolved by discussion.
+
+## 2. Voting Process
+
+Most of the time, we keep each other up to date through the Matrix chat, and take informal decisions on uncontroversial issues. For example, a user clearly violating the site rules could be banned by a single person, or ideally after discussing it with at least one other member.
+
+If an issue can not be resolved in this way, then any council member can call for a vote, which works in the following way:
+
+- Any council member can call for a vote, on any topic mentioned in 1.
+- This should be used if there is any controversy in the community, or between council members.
+- Before taking any decision, there needs to be a discussion where every council member can
+explain their position.
+- Discussion should be taken with the goal of reaching a compromise that is acceptable for
+everyone.
+- After the discussion, voting is done through Matrix emojis (👍: yes, 👎: no, X: abstain) and must
+stay open for at least two days.
+- All members of the Lemmy council have equal voting power.
+- Decisions should be reached unanimously, or nearly so. If this is not possible, at least
+2/3 of votes must be in favour for the motion to pass.
+- Once a decision is reached in this way, every member needs to abide by it.
+
+## 4. Joining
- We use the following process: anyone who is active around Lemmy can recommend any other active person to join the council. This has to be approved by a majority of the council.
- Active users are defined as those who contribute to Lemmy in some way for at least an hour per week on average, doing things like reporting bugs, discussing rules and features, translating, promoting, developing, or doing other things that aim to improve Lemmy as a whole.
-> people should have joined at least a month ago.
@@ -34,23 +56,24 @@
- Note: we would like to have a process where community members can elect candidates for the council, but this is not realistic because a single user could easily create multiple accounts and cheat the vote.
- Limit growth to one new member per month at most.
-## Removing members
+## 5. Removing members
- Inactive members should be removed from the council after a few months of inactivity, and after receiving a notification about this.
- Members that dont follow binding council decisions should be removed.
- Any member can be removed in a vote.
-## Goals
+## 6. Goals
- We encourage the membership of groups such as LGBT, religious or ethnic minorities, abuse victims, etc etc, and strive to create a safe space for them to express their opinions. We also support measures to increase participation by the previously mentioned groups.
- The following are banned, and will always be harshly punished: fascism, abuse, racism, sexism, etc etc,
-## Communication
+## 7. Communication
- A private Matrix chat for all council members.
- (Once private communities are done) A private community on dev.lemmy.ml for issues.
-## Member List / Contact Info
+## 8. Member List / Contact Info
General Contact [@LemmyDev Mastodon](https://mastodon.social/@LemmyDev)
- [Dessalines](https://dev.lemmy.ml/u/dessalines)
- [Nutomic](https://dev.lemmy.ml/u/nutomic)
- [AgreeableLandscape](https://dev.lemmy.ml/u/AgreeableLandscape)
- [fruechtchen](https://dev.lemmy.ml/u/fruechtchen)
+- [kixiQu](https://dev.lemmy.ml/u/kixiQu)