Docker wrapper of serles-acme ACME server for EJBCA.
416
Docker wrapper of serles-acme ACME server for EJBCA.
To get started:
mkdir -p ejbca/csr ebjca/cert (assuming ./ejbca is mapped to /mnt/persistent/ within
the EJBCA container).chown -R 10001:10001 ejbca/csr.chown -R 10001:10001 ejbca/cert.docker compose exec -it ejbca ejbca.sh gencsr --destination /mnt/persistent/csr/ --keyalg RSA --keyspec 3072 --subjectdn "CN=ACME Server".acmeserver and strong-Pa55w0rd_here below with the end entity's details.docker compose exec -it ejbca ejbca.sh createcert --username acmeserver --password strong-Pa55w0rd_here -c /mnt/persistent/csr/certificateSigningRequest.csr -f /mnt/persistent/cert/acme.crtopenssl x509 -text -noout -in ejbca/cert/acme.crt copy the certificate serial number.ACME, and click Add../serles-acme/client.pem:
mkdir -p ./serles-acmecat ejbca/cert/acme.crt ejbca/csr/privkey.pem > serles-acme/client.pemserles-acme service as shown in
docker-compose.yml,
overriding any Environment Variables (see below).serles-acme server up: docker compose up -d serles-acme.docker compose logs serles-acme -f.docker compose ps should also report a Healthy status.serles-acme with a trusted certificate.certbot --server https://reverse.proxy.tld/directory ....
certbot may fail to validate it as these use bundled CA Trust Lists.| Variable | Purpose | Default Value |
|---|---|---|
ALLOWED_IPS | Subnets to allow requests from (comma-separated). | 0.0.0.0/0,::/0 (unrestricted) |
BLOCKED_IPS | Any exclusions to to ALLOWED_IPS (comma-separated). | 0.0.0.0/32 (invalid IP) |
CA_NAME | The name of the CA to use for signing issued certificates. | ManagementCA |
CERT_PROFILE | The EJBCA Certificate Profile to use for issued certificates. | SERVER |
EJBCA_API_VERIFY | Whether to do TLS verification when speaking to the EJBCA API. | false |
EJBCA_API | The EJBCA Web Service endpoint URL (must include https:// and /ejbca/ejbcaws/ejbcaws?wsdl). | https://ejbca:8443/ejbca/ejbcaws/ejbcaws?wsdl |
ENTITY_PROFILE | The EJBCA End Entity Profile to use when issuing certificates. | EMPTY |
MYSQL_DATABASE | When MySQL is enabled, the database to connect to. | serles |
MYSQL_HOST | When MySQL is enabled, the hostname to connect to. | mysql |
MYSQL_PASSWORD | When MySQL is enabled, the password to authenticate with. | changeme |
MYSQL_PORT | When MySQL is enabled, the TCP port to connect to. | 3306 |
MYSQL_USERNAME | When MySQL is enabled, the username to authenticate as. | serles |
USE_MYSQL | Whether to use MySQL for Serles' database, otherwise a SQLite3 database file is used. | false |
VERIFY_PTR | Whether to verify that a correct PTR record exists during validation.: | false |
It is recommended to verify the EJBCA certificate when Serles talks to the EJBCA API, to do this:
ManagementCA by default) to ./serles-acme/ca.bundle.EJBCA_API_VERIFY Environment Variable to true.docker compose up -d --force-recreate serles-acme.Content type
Image
Digest
sha256:264f62fc3…
Size
73.6 MB
Last updated
about 1 month ago
docker pull joepitt91/serles-acme