mirror of https://github.com/LemmyNet/lemmy.git
Some fixes for the docker build.
- Messed with readme. - They needed to be `.env`, not `env`. - Leaving the nginx file there, but extracting it out of the main setup. Ppl might use apache, or none at all. - Docker 3.3 doesn't work with the DB health check unfortunately, so I changed that back to 2.4. - Changed the env in the docker folder so it doesn't need to be edited, someone could just pull this and start it up if they just wanna test it.pull/722/head
parent
06a9417671
commit
431210025d
57
README.md
57
README.md
|
@ -28,7 +28,7 @@ Front Page|Post
|
|||
|
||||
- Open source, [AGPL License](/LICENSE).
|
||||
- Self hostable, easy to deploy.
|
||||
- Comes with [Docker](#docker).
|
||||
- Comes with [Docker](#docker), [Ansible](#ansible).
|
||||
- Live-updating Comment threads.
|
||||
- Full vote scores `(+/-)` like old reddit.
|
||||
- Moderation abilities.
|
||||
|
@ -64,51 +64,42 @@ Made with [Rust](https://www.rust-lang.org), [Actix](https://actix.rs/), [Infern
|
|||
|
||||
## Install
|
||||
|
||||
### Ansible (recommended)
|
||||
### Docker
|
||||
|
||||
First, you need to [install Ansible on your local computer](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html),
|
||||
eg using `sudo apt install ansible`, or the equivalent for you platform.
|
||||
|
||||
Then run the following commands on your local computer:
|
||||
```bash
|
||||
git clone https://github.com/dessalines/lemmy.git
|
||||
cd lemmy/ansible/
|
||||
cp inventory.example inventory
|
||||
nano inventory # enter your server, domain, contact email
|
||||
ansible-playbook lemmy.yml
|
||||
```
|
||||
|
||||
### Manual
|
||||
|
||||
Make sure you have both docker and docker-compose installed.
|
||||
Make sure you have both docker and docker-compose(>=`1.24.0`) installed.
|
||||
|
||||
```
|
||||
mkdir lemmy/
|
||||
cd lemmy/
|
||||
wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
|
||||
wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/env -O .env
|
||||
wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/nginx.conf
|
||||
# you need to edit .env and nginx.conf to replace the indicated {{ variables }}
|
||||
sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf
|
||||
# Edit the .env for custom passwords
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
and goto http://localhost:8536
|
||||
|
||||
### Nginx Config
|
||||
```
|
||||
location / {
|
||||
rewrite (\/(user|u|inbox|post|community|c|login|search|sponsors|communities|modlog|home)+) /static/index.html break;
|
||||
proxy_pass http://0.0.0.0:8536;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
[A sample nginx config](/docker/prod/nginx.conf), could be setup with:
|
||||
|
||||
# WebSocket support
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
```
|
||||
wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/nginx.conf
|
||||
# Replace the {{ vars }}
|
||||
sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf
|
||||
```
|
||||
|
||||
### Ansible
|
||||
|
||||
First, you need to [install Ansible on your local computer](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html),
|
||||
eg using `sudo apt install ansible`, or the equivalent for you platform.
|
||||
|
||||
Then run the following commands on your local computer:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/dessalines/lemmy.git
|
||||
cd lemmy/ansible/
|
||||
cp inventory.example inventory
|
||||
nano inventory # enter your server, domain, contact email
|
||||
ansible-playbook lemmy.yml
|
||||
```
|
||||
|
||||
## Develop
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
DOMAIN=my_domain
|
||||
DATABASE_PASSWORD=password
|
||||
DATABASE_URL=postgres://lemmy:password@lemmy_db:5432/lemmy
|
||||
JWT_SECRET=changeme
|
|
@ -5,13 +5,13 @@ services:
|
|||
image: postgres:12-alpine
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: rrr
|
||||
POSTGRES_PASSWORD: rrr
|
||||
POSTGRES_DB: rrr
|
||||
- POSTGRES_USER=lemmy
|
||||
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
|
||||
- POSTGRES_DB=lemmy
|
||||
volumes:
|
||||
- lemmy_db:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U rrr"]
|
||||
test: ["CMD-SHELL", "pg_isready -U lemmy"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
|
@ -22,10 +22,10 @@ services:
|
|||
ports:
|
||||
- "8536:8536"
|
||||
environment:
|
||||
LEMMY_FRONT_END_DIR: /app/dist
|
||||
DATABASE_URL: postgres://rrr:rrr@lemmy_db:5432/rrr
|
||||
JWT_SECRET: changeme
|
||||
HOSTNAME: rrr
|
||||
- LEMMY_FRONT_END_DIR=/app/dist
|
||||
- DATABASE_URL=${DATABASE_URL}
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
- HOSTNAME=${DOMAIN}
|
||||
restart: always
|
||||
depends_on:
|
||||
lemmy_db:
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
DOMAIN=my_domain
|
||||
DATABASE_PASSWORD=password
|
||||
DATABASE_URL=postgres://lemmy:password@lemmy_db:5432/lemmy
|
||||
JWT_SECRET=changeme
|
|
@ -1,8 +1,7 @@
|
|||
version: "3.3"
|
||||
version: '2.4'
|
||||
|
||||
services:
|
||||
|
||||
db:
|
||||
lemmy_db:
|
||||
image: postgres:12-alpine
|
||||
restart: always
|
||||
environment:
|
||||
|
@ -10,15 +9,14 @@ services:
|
|||
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
|
||||
- POSTGRES_DB=lemmy
|
||||
volumes:
|
||||
- ./volumes/db:/var/lib/postgresql/data
|
||||
- lemmy_db:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U lemmy"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
|
||||
lemmy:
|
||||
image: dessalines/lemmy:v0.0.7
.3
|
||||
image: dessalines/lemmy:v0.0.7.3
|
||||
restart: always
|
||||
ports:
|
||||
- "8536:8536"
|
||||
|
@ -27,5 +25,9 @@ services:
|
|||
- DATABASE_URL=${DATABASE_URL}
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
- HOSTNAME=${DOMAIN}
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
lemmy_db:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
lemmy_db:
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
DOMAIN={{your domain}}
|
||||
DATABASE_PASSWORD={{a random password for postgres}}
|
||||
DATABASE_URL=postgres://lemmy:{{ the same postgres password again }}@db:5432/lemmy
|
||||
JWT_SECRET={{ a random password for jwt}}
|
Loading…
Reference in New Issue