docs: note build-from-source goal, but yet undone for yarn & nodejs

Our goal in this document is to explain how to build virtually all
the dependencies for Houdini from source (in part to vet licenses and
easy AGPL compliance, but also to operate more securely).  Initially,
it won't be possible to do that so begin documenting places where
items are not built from source.
This commit is contained in:
Bradley M. Kuhn 2021-08-09 14:56:54 -07:00
parent d2c6ce6d48
commit 2b21fcfc30

View file

@ -1,13 +1,14 @@
# Bootstrapping a Houdini Instance Using Docker # Bootstrapping a Houdini Instance Using Docker
This file complements [the existing docker documentation](docker.md). The file This file complements [the existing docker documentation](docker.md). The
documents, in great detail, how to bootstrap Houdini into a docker image from file documents, in great detail, how to bootstrap Houdini into a docker
complete scratch. Special attention was given to verifying the licensing image, primarily from source code wherever possible, from complete scratch.
requirements and details, and to attempt to reproduce the creation of the Special attention was given to verifying the licensing requirements and
Docker image from scratch in the most complete way. Some of the instructions details, and to attempt to reproduce the creation of the Docker image from
herein are not specific to Houdini or Ruby on Rails applications at all; scratch in the most complete way. Some of the instructions herein are not
rather, they are simply documentation of steps that at least one user went specific to Houdini or Ruby on Rails applications at all; rather, they are
through to bootstrap to a usable docker image. 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 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 run as a regular user (which sometimes include `sudo`, so note that some of
@ -33,3 +34,31 @@ If the last command gets the error …
the `docker` group. the `docker` group.
This creates a docker image named `bullseye-base` on your system. This creates a docker image named `bullseye-base` on your system.
## Building Node 14 from Source
Currently, the default Docker image uses the Debian `nodejs` version
`14.17.4-deb-1nodesource1` as downloaded from this apt-source entry:
deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
… which leads to this line in the apt-get output:
Get:9 https://deb.nodesource.com/node_14.x bullseye/main amd64 nodejs amd64 14.17.4-deb-1nodesource1 [25.0 MB]
We have not yet provided a method yet to bootstrap the necessary version of
Node from source.
## Building Yarn 14 from Source
Currently, the default Docker image uses the Debian `nodejs` version
`1.22.5-1` as downloaded from this apt-source entry:
deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
… which leads to this line in the apt-get output:
Get:6 https://dl.yarnpkg.com/debian stable/main amd64 yarn all 1.22.5-1 [891 kB]
We have not provided a method yet to bootstrap the necessary version of
Yarn from source.