forked from jan/cacert-devsetup
		
	
				
				Local docker-compose based development Setup for CAcert software
				
			
		| This commit configures IMAP to work properly and makes logs of mgr and dovecot available. | ||
|---|---|---|
| docker | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .mrconfig | ||
| application.Dockerfile | ||
| docker-compose.yml | ||
| imap.Dockerfile | ||
| mail.Dockerfile | ||
| mariadb.Dockerfile | ||
| mgr.Dockerfile | ||
| README.md | ||
| setup_test_ca.sh | ||
| smtp.Dockerfile | ||
CAcert local development setup
This repository contains a local development environment setup for the CAcert software.
Prerequisites
- Linux system (tested on Debian Bullseye)
- Docker
- docker-compose
- openssl
- myrepos
sudo apt-get update
sudo apt-get install docker.io openssl myrepos
sudo adduser $USER docker
newgrp docker
python3 -m pip install --user -U docker-compose
# make sure that ~/.local/bin is in $PATH 
Usage
git clone https://git.dittberner.info/jan/cacert-devsetup.git
cd cacert-devsetup
mr checkout
Create a .env file that defines the following variables
| Variable | Usage | 
|---|---|
| MYSQL_ROOT_PASSWORD | Database root password | 
| MYSQL_APP_USER | Database application user | 
| MYSQL_APP_PASSWORD | Database application password | 
| CLIENT_CERT_EMAIL | email address for client certificate generated by setup_test_ca.sh | 
| CLIENT_CERT_USERNAME | user name for client certificate generated by setup_test_ca.sh | 
| CLIENT_CERT_PASSWORD | PKCS#12 keystore password for client certificate generated by setup_test_ca.sh | 
echo -e "MYSQL_ROOT_PASSWORD=$(openssl rand -base64 18)\nMYSQL_APP_USER=cacert_dev\nMYSQL_APP_PASSWORD=$(openssl rand -base64 18)" > .env
./setup_test_ca.sh
docker-compose up
After these steps you should be able to reach the CAcert application at https://test.cacert.localhost:8443/. The test manager application is reachable at https://mgr.cacert.localhost:9443/.
A client certificate is created by setup_test_ca.sh and is placed in testca/certs/clientcert.p12
which can be imported in a browser to support client certificate authentication.