aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2024-02-21-self-hosting-otter-wiki.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
commit74992aaa27eb384128924c4a3b93052961a3eaab (patch)
treed5193997d72a52f7a6d6338ea5da8a6c80b4eddc /content/blog/2024-02-21-self-hosting-otter-wiki.org
parent3def68d80edf87e28473609c31970507d9f03467 (diff)
downloadcleberg.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.org135
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.