This guide will get you Laverna running inside a super tiny and secure Alpine Linux container.
Prerequisites
- A server with LXC installed
- A basic Alpine LXC container setup - Guide
Setup Laverna
Install dependencies
apk add openssl unzip
Download Laverna files
mkdir -p /var/www/
cd /var/www/
wget https://github.com/Laverna/static-laverna/archive/gh-pages.zip -O laverna.zip
unzip -uo laverna.zip
Install Nginx
We need a web server to serve Laverna. We’re going to use nginx.
apk add nginx
We need to update nginx to point at the directory that houses Laverna. This only takes one change in /etc/nginx/nginx.conf
. Change the root
value under server
to /var/www/laverna
- root http
+ root /var/www/laverna
Start your new site
All we have left is to start nginx, and set it to start at boot.
rc-update add nginx
rc-service start nginx
You can now visit your site at http://[ip address]
Clean Up
In an effort to keep our container as small as possible, we should clean up after ourselves.
rm /var/www/laverna.zip
apk del unzip
Start Laverna container at system boot
We’ve setup our Laverna service to start up when the container boots, but we also need to set up our Laverna container to start when the host boots.
From the host machine, edit /var/lib/lxc/laverna/config
to add the following line:
lxc.start.auto = 1
To test to make sure your container will boot on startup, shut down the container and then run the following command:
lxc-autostart
This command starts all containers that are marked to boot on startup. After running this command you should be able to navigate to Laverna from your web browser.
Now what?
Take some actual notes