Dockerized easy-rsa.
The base image is alpine.
| Tag | Dockerfile Build Context |
|---|---|
:3.2.4, :latest |
View |
:3.2.3 |
View |
:3.2.2 |
View |
:3.2.1 |
View |
:3.2.0 |
View |
:3.1.7 |
View |
:3.1.6 |
View |
:3.1.5 |
View |
:3.1.4 |
View |
:3.1.3 |
View |
:3.1.2 |
View |
:3.1.1 |
View |
:3.1.0 |
View |
:3.0.9 |
View |
:3.0.8 |
View |
:3.0.7 |
View |
:3.0.6 |
View |
:3.0.5 |
View |
:3.0.4 |
View |
:3.0.3 |
View |
:3.0.2 |
View |
:3.0.1 |
View |
All images are based on Alpine.
In this image, the PKI will be stored in /data/pki (i.e. EASYRSA_PKI=/data/pki, see Dockerfile).
# Generate /data/pki
docker run --rm -it -v data:/data theohbrothers/docker-easyrsa:3.2.4 init-pki
# Generate CA, server and client certs
docker run --rm -it -e EASYRSA_BATCH=true -v data:/data theohbrothers/docker-easyrsa:3.2.4 build-ca nopass
docker run --rm -it -e EASYRSA_BATCH=true -v data:/data theohbrothers/docker-easyrsa:3.2.4 build-server-full server-01 nopass
docker run --rm -it -e EASYRSA_BATCH=true -v data:/data theohbrothers/docker-easyrsa:3.2.4 build-client-full client-01 nopass
# Alternatively, a nice one liner to do everything
docker run --rm -it -e EASYRSA_BATCH=true -v data:/data theohbrothers/docker-easyrsa:3.2.4 sh -c 'set -e; easyrsa init-pki; easyrsa build-ca nopass; easyrsa build-server-full server-01 nopass; easyrsa build-client-full client-01 nopass; find /data/pki'According to easy-rsa documentation, there are four ways to run easy-rsa, namely:
- Command-line options
- Environment variables
varsfile- Built-in defaults
See easy-rsa documentation on command line options and their matching environment variables here.
See easy-rsa documentation on environment variables here.
See easy-rsa documentation on using vars file here.
See an example of a vars file here.
Requires Windows powershell or pwsh.
# Install Generate-DockerImageVariants module: https://github.com/theohbrothers/Generate-DockerImageVariants
Install-Module -Name Generate-DockerImageVariants -Repository PSGallery -Scope CurrentUser -Force -Verbose
# Edit ./generate templates
# Generate the variants
Generate-DockerImageVariants .versions.json contains a list of Semver versions, one per line.
To update versions in versions.json:
./Update-Versions.ps1To update versions in versions.json, and open a PR for each changed version, and merge successful PRs one after another (to prevent merge conflicts), and finally create a tagged release and close milestone:
$env:GITHUB_TOKEN = 'xxx'
./Update-Versions.ps1 -PR -AutoMergeQueue -AutoReleaseTo perform a dry run, use -WhatIf.