From 45243279184b635fe1712810f3bda60c95720b56 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Tue, 23 Mar 2021 17:01:38 +0100 Subject: Reworked the adyxax.org docs articles --- content/docs/adyxax.org/_index.md | 2 +- content/docs/adyxax.org/git.md | 44 +++++++++++++++++++++++ content/docs/adyxax.org/nethack.md | 56 +++++++++++++++++++++++++++++ content/docs/adyxax.org/services/_index.md | 8 ----- content/docs/adyxax.org/services/checkmk.md | 16 --------- content/docs/adyxax.org/services/git.md | 42 ---------------------- content/docs/adyxax.org/services/nethack.md | 56 ----------------------------- content/docs/adyxax.org/services/www.md | 47 ------------------------ content/docs/adyxax.org/www.md | 53 +++++++++++++++++++++++++++ 9 files changed, 154 insertions(+), 170 deletions(-) create mode 100644 content/docs/adyxax.org/git.md create mode 100644 content/docs/adyxax.org/nethack.md delete mode 100644 content/docs/adyxax.org/services/_index.md delete mode 100644 content/docs/adyxax.org/services/checkmk.md delete mode 100644 content/docs/adyxax.org/services/git.md delete mode 100644 content/docs/adyxax.org/services/nethack.md delete mode 100644 content/docs/adyxax.org/services/www.md create mode 100644 content/docs/adyxax.org/www.md diff --git a/content/docs/adyxax.org/_index.md b/content/docs/adyxax.org/_index.md index ea9b904..51a8161 100644 --- a/content/docs/adyxax.org/_index.md +++ b/content/docs/adyxax.org/_index.md @@ -20,5 +20,5 @@ As a system and network administrator I believe I have a deep understanding of l On a personal note I also believe there are way too many blogs that focus on the hello world aspects and quick and dirty deployments that show up in google results, I will try to change that a bit. Writing about the choices I made will also help me reflect on them as this infrastructure evolves and grows. -## Subsections +## Services diff --git a/content/docs/adyxax.org/git.md b/content/docs/adyxax.org/git.md new file mode 100644 index 0000000..5b90588 --- /dev/null +++ b/content/docs/adyxax.org/git.md @@ -0,0 +1,44 @@ +--- +title: "git" +description: adyxax.org git server +--- + +## Introduction + +git.adyxax.org is a [gitea](https://gitea.io/) instance. For about 10 years I used a gitolite installation but I finally went for a gui instead in order to host repositories for non tech people. + +## Preparing the postgresql database + +I am currently hosting this instance on an OpenBSD server. Obviously postgresql is packaged on this system so the installation is as simple as : +{{< highlight sh >}} +pkg_add postgresql-server +su - __postgresql +mkdir /var/postgresql/data +initdb -D /var/postgresql/data -U postgres -A scram-sha-256 -E UTF8 -W +exit +rcctl enable postgresql +rcctl start postgresql +su - ___postgresql +psql -U postgresql +CREATE ROLE gitea WITH LOGIN PASSWORD 'XXXXX'; +CREATE DATABASE gitea WITH OWNER gitea TEMPLATE template0 ENCODING UTF8 LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8'; +{{< /highlight >}} + +Since it is OpenBSD the defaults are secure for a local usage, therefore no other configuration is necessary. + +## Installing gitea + +Gitea is packaged on OpenBSD so the installation is as simple as : +{{< highlight sh >}} +pkg_add gitea +nvim /etc/gitea/app.ini +rcctl enable gitea +rcctl start gitea +{{< /highlight >}} + +## Serving the website + +TODO +{{< highlight sh >}} +nvim /etc/h2o/h2o.conf +{{< /highlight >}} diff --git a/content/docs/adyxax.org/nethack.md b/content/docs/adyxax.org/nethack.md new file mode 100644 index 0000000..095f0ca --- /dev/null +++ b/content/docs/adyxax.org/nethack.md @@ -0,0 +1,56 @@ +--- +title: "nethack" +description: nethack.adyxax.org game server +--- + +## Introduction + +I am hosting a private nethack game server accessible via ssh for anyone who will send me a ssh public key. It all runs chrooted on an OpenBSD server. + +## dgamelaunch + +TODO + +{{< highlight sh >}} +groupadd -r games +useradd -r -g games nethack +git clone +{{< /highlight >}} + +## nethack + +TODO + +{{< highlight sh >}} +{{< /highlight >}} + +## scores script + +TODO + +{{< highlight sh >}} +{{< /highlight >}} + +## copying shared libraries + +{{< highlight sh >}} +cd /opt/nethack +for i in `ls bin`; do for l in `ldd bin/$i | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done; done +for l in `ldd dgamelaunch | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done +for l in `ldd nethack-3.7.0-r1/games/nethack | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done +{{< /highlight >}} + +## making device nodes + +TODO! For now I mount all of /dev in the chroot : +{{< highlight sh >}} +#mknod -m 666 dev/ptmx c 5 2 +mount -R /dev /opt/nethack/dev +{{< /highlight >}} + +## debugging + +{{< highlight sh >}} +gdb chroot +run --userspec=nethack:games /opt/nethack/ /dgamelaunch +{{< /highlight >}} diff --git a/content/docs/adyxax.org/services/_index.md b/content/docs/adyxax.org/services/_index.md deleted file mode 100644 index 405c2ca..0000000 --- a/content/docs/adyxax.org/services/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Services" -linkTitle: "Services" -weight: 1 -description: > - Here are the services provided by adyxax.org ---- - diff --git a/content/docs/adyxax.org/services/checkmk.md b/content/docs/adyxax.org/services/checkmk.md deleted file mode 100644 index f8a8bf6..0000000 --- a/content/docs/adyxax.org/services/checkmk.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "checkmk" -linkTitle: "checkmk" -weight: 1 -description: > - checkmk ---- - -TODO - -## Updating - -- Download latest raw edition package from http://mathias-kettner.com/check_mk_download_version.php?HTML=yes&version=1.2.8p15&edition=cre and install it. -- `run omd backup adyxax adyxax.bak` -- `run omd update adyxax` -- If all went well, apt purge the previous check_mk version to free space. diff --git a/content/docs/adyxax.org/services/git.md b/content/docs/adyxax.org/services/git.md deleted file mode 100644 index a7a9374..0000000 --- a/content/docs/adyxax.org/services/git.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "git" -weight: 1 -description: > - adyxax.org git server ---- - -git.adyxax.org is a gitea instance. For about 10 years I used a gitolite installation but I finally went for a gui instead in order to host repositories for non tech people. - -## Preparing the postgresql database - -I am currently hosting this gitea instance on an OpenBSD server. Obviously postgresql is packaged on this system so the installation is as simple as : -{{< highlight sh >}} -pkg_add postgresql-server -su - __postgresql -mkdir /var/postgresql/data -initdb -D /var/postgresql/data -U postgres -A scram-sha-256 -E UTF8 -W -rcctl enable postgresql -rcctl start postgresql -su - ___postgresql -psql -U postgresql -CREATE ROLE gitea WITH LOGIN PASSWORD 'XXXXX'; -CREATE DATABASE gitea WITH OWNER gitea TEMPLATE template0 ENCODING UTF8 LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8'; -{{< /highlight >}} - -Since it is OpenBSD the defaults are secure for a local usage, therefore no other configuration is necessary. - -## Installing gitea - -Gitea is packaged on OpenBSD so the installation is as simple as : -{{< highlight sh >}} -pkg_add gitea -nvim /etc/gitea/app.ini -rcctl enable gitea -rcctl start gitea -{{< /highlight >}} - -## TODO Serving the website - -{{< highlight sh >}} -nvim /etc/h2o/h2o.conf -{{< /highlight >}} diff --git a/content/docs/adyxax.org/services/nethack.md b/content/docs/adyxax.org/services/nethack.md deleted file mode 100644 index e9aa7a7..0000000 --- a/content/docs/adyxax.org/services/nethack.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "nethack" -linkTitle: "nethack" -weight: 1 -description: > - nethack ---- - -## dgamelaunch - -TODO - -{{< highlight sh >}} -groupadd -r games -useradd -r -g games nethack -git clone -{{< /highlight >}} - -## nethack - -TODO - -{{< highlight sh >}} -{{< /highlight >}} - -## scores script - -TODO - -{{< highlight sh >}} -{{< /highlight >}} - -## copying shared libraries - -{{< highlight sh >}} -cd /opt/nethack -for i in `ls bin`; do for l in `ldd bin/$i | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done; done -for l in `ldd dgamelaunch | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done -for l in `ldd nethack-3.7.0-r1/games/nethack | tail -n +1 | cut -d'>' -f2 | awk '{print $1}'`; do if [ -f $l ]; then echo $l; cp $l lib64/; fi; done -{{< /highlight >}} - -## making device nodes - -TODO! For now I mount all of /dev in the chroot : -{{< highlight sh >}} -#mknod -m 666 dev/ptmx c 5 2 -mount -R /dev /opt/nethack/dev -{{< /highlight >}} - -## debugging - -{{< highlight sh >}} -gdb chroot -run --userspec=nethack:games /opt/nethack/ /dgamelaunch -{{< /highlight >}} - diff --git a/content/docs/adyxax.org/services/www.md b/content/docs/adyxax.org/services/www.md deleted file mode 100644 index 3f52e97..0000000 --- a/content/docs/adyxax.org/services/www.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "www" -linkTitle: "www" -weight: 1 -description: > - adyxax.org main entry website. www.adyxax.org, wiki.adyxax.org and blog.adyxax.org all point here. ---- - -This is the website you are currently reading. It is a static website built using [hugo](https://github.com/gohugoio/hugo). This article details how I -installed hugo, how I initialised this website and how I manage it. I often refer to it as wiki.adyxax.org because I hosted a unique dokuwiki for a long -time as my main website (and a pmwiki before that), but with hugo it has become more than that. It is now a mix of wiki, blog and showcase of my work and interests. - -For a log of how I made the initial setup, see [this blog article.]({{< relref "/blog/hugo/switching-to-hugo.md" >}}) - -## Installing hugo - -I am currently hosting this website on an OpenBSD server. Hugo is packaged on this system so the installation is as simple as : -{{< highlight sh >}} -pkg_add hugo--extended -{{< / highlight >}} - -## Bootstraping this site - -The website is on my gitea : -{{< highlight sh >}} -cd /var/www/htdocs -git clone --recurse-submodules _gitea@git.adyxax.org:adyxax/www.git -cd www -{{< / highlight >}} - -The docsy theme requires two nodejs programs to run : -{{< highlight sh >}} -npm install -D --save autoprefixer -npm install -D --save postcss-cli -{{< / highlight >}} - -## hugo commands - -To publish the website in the `public` folder : -{{< highlight sh >}} -hugo --minify -{{< / highlight >}} - -## TODO - -TODO deploy on push to git.adyxax.org -TODO web server config diff --git a/content/docs/adyxax.org/www.md b/content/docs/adyxax.org/www.md new file mode 100644 index 0000000..4c847fc --- /dev/null +++ b/content/docs/adyxax.org/www.md @@ -0,0 +1,53 @@ +--- +title: "www" +description: adyxax.org main website. www.adyxax.org, wiki.adyxax.org and blog.adyxax.org all point here. +--- + +## Introduction + +This is the website you are currently reading. It is a static website built using [hugo](https://github.com/gohugoio/hugo). This article details how I +installed hugo, how I initialised this website and how I manage it. I often refer to it as wiki.adyxax.org because this site replaces a dokuwiki I used for a long +time as my main website (and a pmwiki before that), but with [hugo]({{< ref "hugo" >}}) it has become more than that. It is now a mix of wiki, blog and showcase of my work and interests. + +For a log of how I made the initial setup, see [this blog article.]({{< ref "switching-to-hugo" >}}). Things are now simpler since I [wrote my own theme]({{< ref "ditching-the-heavy-hugo-theme" >}}). + +## Installing hugo + +I am currently hosting this website on an OpenBSD server. Hugo is packaged on this system so the installation is as simple as : +{{< highlight sh >}} +pkg_add hugo--extended +{{< / highlight >}} + +## Bootstraping this site + +The website is on my [gitea instance]({{< ref "git.md" >}}), and leaves under the standard `/var/www/htdocs` path: +{{< highlight sh >}} +cd /var/www/htdocs +git clone _gitea@git.adyxax.org:adyxax/www.git +cd www +{{< / highlight >}} + +To publish the website in the `public` folder I use a custom makefile so that I do not have to remind myself of hugo flags : +{{< highlight sh >}} +make build +{{< / highlight >}} + +## Automated deployment + +The deployment is automated with a simple `post-receive` git hook in the gitea repository : +{{< highlight sh >}} +#!/usr/bin/env bash +set -eu +unset GIT_DIR + +cd /var/www/htdocs/www/ +git remote update +git reset --hard origin/master +make build + +echo 'website updated' +{{< /highlight >}} + +## Web server config + +TODO -- cgit v1.2.3