I'm running Ignition in production on an AWS EC2 instance with connected remote ignition gateways and want to set up development and test environments using Docker. I also have a PostgreSQL database on AWS. I have basic Docker knowledge but would appreciate some guidance or direction on:
- best practices for this setup
- steps to properly configure SSL and gateway network
- recommended directory structure
are they adding containerization features?
You can use a docker compose file to make the ignition container with named volumes. Then use certbot to generate SSL, you'll need the cerbot rootCA to make the pfx file: Chains of Trust - Let's Encrypt
once you have everything you can use openssl pkcs12 to convert the certbot SSL files into the PFX file, and copy that into the ignition webserver directory
(inside the container).
sudo cat $CERT_DIR/fullchain.pem $CERT_DIR/isrgrootx1.pem > $CERT_DIR/bundle.pem
# Convert the initial certificates to PKCS#12
openssl pkcs12 -export -out $PFX_FILE -inkey $CERT_DIR/privkey.pem -in $CERT_DIR/bundle.pem -passout pass:$PFX_PASSWORD -name $KEYSTORE_ALIAS
sudo docker cp $PFX_FILE ignition:$IGNITION_GW_DIR/webserver
Then run
sudo docker exec -it --user root ignition $IGNITION_GW_DIR/gwcmd.sh --reloadks
to reload the keystore