summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-06-23 21:11:38 -0400
committerDessalines <tyhou13@gmx.com>2020-06-23 21:11:38 -0400
commitdc94e58cbf7e7de10d97331a3056380a3416e0b0 (patch)
tree85ed25783b0470ead3012a9718aea50b39c940dd /docs
parentfd6a040568239d2e6949394fdc0ce0f7ac70275c (diff)
parent790b944031f9433be765936763d848ffa6e1b496 (diff)
Merge branch 'master' into federation_merge_from_master_2
Diffstat (limited to 'docs')
-rw-r--r--docs/src/administration_install_docker.md17
-rw-r--r--docs/src/contributing.md2
-rw-r--r--docs/src/contributing_docker_development.md15
-rw-r--r--docs/src/contributing_local_development.md74
4 files changed, 80 insertions, 28 deletions
diff --git a/docs/src/administration_install_docker.md b/docs/src/administration_install_docker.md
index 236faa6b..a2bed794 100644
--- a/docs/src/administration_install_docker.md
+++ b/docs/src/administration_install_docker.md
@@ -6,20 +6,25 @@ Make sure you have both docker and docker-compose(>=`1.24.0`) installed. On Ubun
# create a folder for the lemmy files. the location doesnt matter, you can put this anywhere you want
mkdir /lemmy
cd /lemmy
+
# download default config files
-wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
-wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/lemmy.hjson
-wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/iframely.config.local.js
+wget https://raw.githubusercontent.com/LemmyNet/lemmy/master/docker/prod/docker-compose.yml
+wget https://raw.githubusercontent.com/LemmyNet/lemmy/master/docker/lemmy.hjson
+wget https://raw.githubusercontent.com/LemmyNet/lemmy/master/docker/iframely.config.local.js
+
+# Set correct permissions for pictrs folder
+mkdir -p volumes/pictrs
+sudo chown -R 991:991 volumes/pictrs
```
After this, have a look at the [config file](administration_configuration.md) named `lemmy.hjson`, and adjust it, in particular the hostname, and possibly the db password. Then run:
`docker-compose up -d`
-To make Lemmy available outside the server, you need to setup a reverse proxy, like Nginx. [A sample nginx config](https://raw.githubusercontent.com/dessalines/lemmy/master/ansible/templates/nginx.conf), could be setup with:
+To make Lemmy available outside the server, you need to setup a reverse proxy, like Nginx. [A sample nginx config](https://raw.githubusercontent.com/LemmyNet/lemmy/master/ansible/templates/nginx.conf), could be setup with:
```bash
-wget https://raw.githubusercontent.com/dessalines/lemmy/master/ansible/templates/nginx.conf
+wget https://raw.githubusercontent.com/LemmyNet/lemmy/master/ansible/templates/nginx.conf
# Replace the {{ vars }}
sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf
```
@@ -31,6 +36,6 @@ You will also need to setup TLS, for example with [Let's Encrypt](https://letsen
To update to the newest version, you can manually change the version in `docker-compose.yml`. Alternatively, fetch the latest version from our git repo:
```bash
-wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
+wget https://raw.githubusercontent.com/LemmyNet/lemmy/master/docker/prod/docker-compose.yml
docker-compose up -d
```
diff --git a/docs/src/contributing.md b/docs/src/contributing.md
index 4eabd6fc..69d2f42e 100644
--- a/docs/src/contributing.md
+++ b/docs/src/contributing.md
@@ -5,7 +5,7 @@ Information about contributing to Lemmy, whether it is translating, testing, des
## Issue tracking / Repositories
- [GitHub (for issues)](https://github.com/LemmyNet/lemmy)
-- [Gitea](https://yerbamate.dev/dessalines/lemmy)
+- [Gitea](https://yerbamate.dev/LemmyNet/lemmy)
- [GitLab](https://gitlab.com/dessalines/lemmy)
## Translating
diff --git a/docs/src/contributing_docker_development.md b/docs/src/contributing_docker_development.md
index 09239821..afa05107 100644
--- a/docs/src/contributing_docker_development.md
+++ b/docs/src/contributing_docker_development.md
@@ -3,11 +3,22 @@
## Running
```bash
+sudo apt install git docker-compose
git clone https://github.com/LemmyNet/lemmy
cd lemmy/docker/dev
-./docker_update.sh # This builds and runs it, updating for your changes
+sudo docker-compose up --no-deps --build
```
and go to http://localhost:8536.
-Note that compile times when changing `Cargo.toml` are relatively long with Docker, because builds can't be incrementally cached. If this is a problem for you, you should use [Local Development](contributing_local_development.md).
+To speed up the Docker compile, add the following to `/etc/docker/daemon.json` and restart Docker.
+```
+{
+ "features": {
+ "buildkit": true
+ }
+}
+```
+
+If the build is still too slow, you will have to use a
+[local build](contributing_local_development.md) instead.
diff --git a/docs/src/contributing_local_development.md b/docs/src/contributing_local_development.md
index e823c9d1..066386f5 100644
--- a/docs/src/contributing_local_development.md
+++ b/docs/src/contributing_local_development.md
@@ -1,31 +1,67 @@
-#### Requirements
+### Ubuntu
-- [Rust](https://www.rust-lang.org/)
-- [Yarn](https://yarnpkg.com/en/)
-- [Postgres](https://www.postgresql.org/)
-#### Set up Postgres DB
+#### Build requirements:
+```
+sudo apt install git cargo libssl-dev pkg-config libpq-dev yarn curl gnupg2 git
+# install yarn
+curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
+echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
+sudo apt update && sudo apt install yarn
+```
+
+#### Get the source code
+```
+git clone https://github.com/LemmyNet/lemmy.git
+# or alternatively from gitea
+# git clone https://yerbamate.dev/LemmyNet/lemmy.git
+```
+
+All the following commands need to be run either in `lemmy/server` or `lemmy/ui`, as indicated
+by the `cd` command.
-```bash
+#### Build the backend (Rust)
+```
cd server
-./db-init.sh
+cargo build
+# for development, use `cargo check` instead)
```
-Or run the commands manually:
+#### Build the frontend (Typescript)
+```
+cd ui
+yarn
+yarn build
+```
-```bash
-psql -c "create user lemmy with password 'password' superuser;" -U postgres
-psql -c 'create database lemmy with owner lemmy;' -U postgres
+#### Setup postgresql
+```
+sudo apt install postgresql
+sudo systemctl start postgresql
+# initialize postgres database
+sudo -u postgres psql -c "create user lemmy with password 'password' superuser;" -U postgres
+sudo -u postgres psql -c 'create database lemmy with owner lemmy;' -U postgres
export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
+# or execute server/db-init.sh
```
-#### Running
+#### Run a local development instance
+```
+# run each of these in a seperate terminal
+cd server && cargo run
+ui & yarn start
+```
-```bash
-git clone https://github.com/LemmyNet/lemmy
-cd lemmy
-./install.sh
-# For live coding, where both the front and back end, automagically reload on any save, do:
-# cd ui && yarn start
-# cd server && cargo watch -x run
+Then open [localhost:4444](http://localhost:4444) in your browser. It will auto-refresh if you edit
+any frontend files. For backend coding, you will have to rerun `cargo run`. You can use
+`cargo check` as a faster way to find compilation errors.
+
+To speed up incremental builds, you can add the following to `~/.cargo/config`:
+```
+[target.x86_64-unknown-linux-gnu]
+rustflags = ["-Clink-arg=-fuse-ld=lld"]
```
+
+Note that this setup doesn't include image uploads or link previews (provided by pict-rs and
+iframely respectively). If you want to test those, you should use the
+[Docker development](contributing_docker_development.md).