diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-04-27 17:01:13 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-04-27 17:01:13 -0500 |
commit | 74992aaa27eb384128924c4a3b93052961a3eaab (patch) | |
tree | d5193997d72a52f7a6d6338ea5da8a6c80b4eddc /content/blog/2024-02-21-self-hosting-otter-wiki.org | |
parent | 3def68d80edf87e28473609c31970507d9f03467 (diff) | |
download | cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.gz cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.bz2 cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.zip |
test conversion back to markdown
Diffstat (limited to 'content/blog/2024-02-21-self-hosting-otter-wiki.org')
-rw-r--r-- | content/blog/2024-02-21-self-hosting-otter-wiki.org | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/content/blog/2024-02-21-self-hosting-otter-wiki.org b/content/blog/2024-02-21-self-hosting-otter-wiki.org deleted file mode 100644 index c308f12..0000000 --- a/content/blog/2024-02-21-self-hosting-otter-wiki.org +++ /dev/null @@ -1,135 +0,0 @@ -#+title: Self-Hosting An Otter Wiki -#+date: <2024-02-21> -#+description: Learn how to easily self-host An Otter Wiki. -#+filetags: :selfhosting: - -* An Otter Wiki -[[https://otterwiki.com/][An Otter Wiki]] is an easy to use wiki -software that takes almost no effort to set up and maintain. - -* Installation -To install An Otter Wiki, I'm going to use Docker Compose to create the -container and then use Nginx as a reverse proxy to allow external access -via a subdomain I own. - -** Docker Compose -Start by creating a directory for the container's files. - -#+begin_src sh -mkdir ~/otterwiki -#+end_src - -Next, create the =docker-compose.yml= file to define the container's -parameters. - -#+begin_src sh -nano ~/otterwiki/docker-compose.yml -#+end_src - -Within the file, paste the following content. You can read the project's -documentation if you want to further override or customize the -container. - -#+begin_src conf -version: '3' -services: - otterwiki: - image: redimp/otterwiki:2 - restart: unless-stopped - # Internal port must be assigned to port 80 - # External port can be customized - ports: - - 8337:80 - volumes: - - ./app-data:/app-data -#+end_src - -Once the file is saved and closed, you can launch the container. - -#+begin_src sh -cd ~/otterwiki -sudo docker-compose up -d -#+end_src - -The container is now available at =localhost:8337=. Next, we will use -Nginx to serve this app externally. - -** Nginx -To access the app externally, let's set up a reverse proxy. I'll start -by creating the Nginx configuration file for my wiki. - -#+begin_src sh -sudo nano /etc/nginx/sites-available/wiki -#+end_src - -Within the file, I have saved the following content. This assumes you -already have a TLS/SSL cert to use with this subdomain. If not, simply -remove the =ssl_*= variables, remove the =80= server block, and change -the =443= server block to =80= to serve the app without SSL. - -#+begin_src conf -server { - if ($host ~ ^[^.]+\.example\.com$) { - return 301 https://$host$request_uri; - } - - listen [::]:80; - listen 80; - server_name wiki.example.com; - return 404; -} - -server { - listen [::]:443 ssl http2; - listen 443 ssl http2; - server_name wiki.example.com; - access_log /var/log/nginx/wiki.access.log; - error_log /var/log/nginx/wiki.error.log; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - include /etc/letsencrypt/options-ssl-nginx.conf; - ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - - location / { - set $upstream_wiki http://127.0.0.1:8337; - proxy_pass $upstream_wiki; - - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $http_host; - } -} -#+end_src - -Save and close the configuration file. On Nginx, we need to symlink the -file to enable it. - -#+begin_src sh -sudo ln -s /etc/nginx/sites-available/wiki /etc/nginx/sites-enabled/wiki -#+end_src - -Once enabled, restart the Nginx server to start serving the app -externally. - -#+begin_src sh -sudo systemctl restart nginx.service -#+end_src - -* Screenshots -In the screenshot below, you can see the initial launch screen for An -Otter Wiki. Start by creating your admin account and configure the app -as necessary. - -#+caption: An Otter Wiki - Initial Screen -[[https://img.cleberg.net/blog/20240221-otterwiki/otterwiki.png]] - -You can also see the default editing screen for creating and editing -pages. It's as easy as typing Markdown and hitting the save button. - -#+caption: An Otter Wiki - Editing Screen -[[https://img.cleberg.net/blog/20240221-otterwiki/otterwiki-edit.png]] - -Overall, I like An Otter Wiki and will be looking forward to seeing how -much use I get out of it going forward. |