docs: Begin from-sources instructions to install Houdini via docker

These instructions are more detailed than what will ultimately appear
in `docker.md`, and focus on building from sources wherever possible.
They are specifically designed to include extra detail for users not
as familiar with docker, or for those who would like bootstrap
further from scratch to create a Houdini docker image.
This commit is contained in:
Bradley M. Kuhn 2021-08-07 17:12:37 -07:00
parent 3a4b2366c9
commit 7013b9e6d9

View file

@ -0,0 +1,35 @@
# Bootstrapping a Houdini Instance Using Docker
This file complements [the existing docker documentation](docker.md). The file
documents, in great detail, how to bootstrap Houdini into a docker image from
complete scratch. Special attention was given to verifying the licensing
requirements and details, and to attempt to reproduce the creation of the
Docker image from scratch in the most complete way. Some of the instructions
herein are not specific to Houdini or Ruby on Rails applications at all;
rather, they are simply documentation of steps that at least one user went
through to bootstrap to a usable docker image.
Commands that were run as pure root have the `#` in front of them; commands
run as a regular user (which sometimes include `sudo`, so note that some of
them are run with system privileges) have a `$` in front of them.
## Creating a Base Image
Since most Docker images have copyleft license compliance problem, rather
than using a docker image from Docker's problematic repositories, we create
a Debian image from scratch. Using the
[instructions to create one's own base image](https://docs.docker.com/develop/develop-images/baseimages/),
along with
[Debian's deboostrap instructions](https://wiki.debian.org/Debootstrap), to
create a docker image of Debian's `bullseye` release.
# mkdir /srv/bullseye-base
# debootstrap bullseye /srv/bullseye-base http://deb.debian.org/debian/
$ sudo tar -C /srv/bullseye-base -c . | docker import - bullseye-base
If the last command gets the error …
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: …
… then likely the user account that you're using as a regular user is not in
the `docker` group.
This creates a docker image named `bullseye-base` on your system.