Просмотр исходного кода

docs: add guide for docker webapp

Andelf 4 лет назад
Родитель
Сommit
81a789b7c4
1 измененных файлов с 75 добавлено и 0 удалено
  1. 75 0
      docs/Docker Web App Guide.md

+ 75 - 0
docs/Docker Web App Guide.md

@@ -0,0 +1,75 @@
+# Logseq Docker Web App Guide
+
+From v0.5.6, Logseq is also available as a Docker image of Web App.
+The Docker image is available at [ghcr.io/logseq/logseq-webapp:latest](https://github.com/logseq/logseq/pkgs/container/logseq-webapp).
+
+**NOTE:** Logseq web app uses [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to access the file system. You need a [compatible browser](https://caniuse.com/native-filesystem-api).
+Also, an HTTPS connection is required if you are accessing it remotely.
+
+## Simple one-line start(local machine)
+
+```shell
+docker pull ghcr.io/logseq/logseq-webapp:latest
+docker run -d --rm -p 3001:80 ghcr.io/logseq/logseq-webapp:latest
+```
+
+Open the browser and go to http://localhost:3001.
+
+## Remote(non-local) access
+
+Here we use the [mkcert](https://github.com/FiloSottile/mkcert) to generate locally-trusted development certificates. For other purposes, you should apply a certificate from a trusted CA.
+
+Suppose you are deploying the web app to 192.168.11.95.
+
+### Install mkcert(web app of Filesystem API requires HTTPS)
+
+```shell
+# macOS
+brew install mkcert
+# or archlinux
+sudo pacman -Ss mkcert
+# or follow the install instructions from https://github.com/FiloSottile/mkcert
+```
+
+### Install mkcert root CA
+
+```shell
+mkcert -install
+```
+
+### Prepare SSL cert
+
+```shell
+mkcert 192.168.11.95 # public IP address or hostname of the remote machine
+```
+
+### Prepare SSL Nginx conf
+
+```
+# ssl.conf
+server {
+    listen  443   ssl;
+    ssl_certificate /etc/nginx/certs/192.168.11.95.pem;
+    ssl_certificate_key /etc/nginx/certs/192.168.11.95-key.pem;
+    server_name  localhost;
+
+    location / {
+        root   /usr/share/nginx/html;
+        index  index.html index.htm;
+    }
+}
+```
+
+### Pull Docker image
+
+Copy the `*.key` and `ssl.conf` files to target machine.
+
+```shell
+docker pull ghcr.io/logseq/logseq-webapp:latest
+
+docker run -d --rm -p 8443:443 -v `pwd`:/etc/nginx/certs -v ./ssl.conf:/etc/nginx/conf.d/ssl.conf ghcr.io/logseq/logseq-webapp:latest
+```
+
+### Done!
+
+Open your browser and navigate to `https://192.168.11.95:8443`.