]> Untitled Git - lemmy.git/commitdiff
Some fixes for the docker build.
authorDessalines <tyhou13@gmx.com>
Tue, 20 Aug 2019 23:20:46 +0000 (16:20 -0700)
committerDessalines <tyhou13@gmx.com>
Tue, 20 Aug 2019 23:20:46 +0000 (16:20 -0700)
- 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.

README.md
docker/dev/.env [new file with mode: 0644]
docker/dev/docker-compose.yml
docker/prod/.env [new file with mode: 0644]
docker/prod/docker-compose.yml
docker/prod/env [deleted file]

index 2283ee464c645dfc85015721aedcc0412a484958..af945f4271d92151835bf66239ee564a9eeb1c9a 100644 (file)
--- a/README.md
+++ b/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
+[A sample nginx config](/docker/prod/nginx.conf), could be setup with:
+
 ```
-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;
-
-  # 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
diff --git a/docker/dev/.env b/docker/dev/.env
new file mode 100644 (file)
index 0000000..f82502d
--- /dev/null
@@ -0,0 +1,4 @@
+DOMAIN=my_domain
+DATABASE_PASSWORD=password
+DATABASE_URL=postgres://lemmy:password@lemmy_db:5432/lemmy
+JWT_SECRET=changeme
index b4daff61c5f395ce1baedac561d783497a5f1d9d..515a1e4cfd14773bf6b89edef1d6ad9207f7a8fc 100644 (file)
@@ -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: 
diff --git a/docker/prod/.env b/docker/prod/.env
new file mode 100644 (file)
index 0000000..f82502d
--- /dev/null
@@ -0,0 +1,4 @@
+DOMAIN=my_domain
+DATABASE_PASSWORD=password
+DATABASE_URL=postgres://lemmy:password@lemmy_db:5432/lemmy
+JWT_SECRET=changeme
index d55b28088a39432fc876e4d2c53d733c21be4590..dab2a9c323308855cc15f77a51bcf45c3ce15865 100644 (file)
@@ -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\r.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:
diff --git a/docker/prod/env b/docker/prod/env
deleted file mode 100644 (file)
index 06f3cfe..0000000
+++ /dev/null
@@ -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}}