diff --git a/INSTALL.docker b/INSTALL.docker new file mode 100644 index 00000000..90f3503f --- /dev/null +++ b/INSTALL.docker @@ -0,0 +1,69 @@ + +This is a short overview of how to build and run XCA using docker. + +Install docker +============== + +To install docker, follow the instructions provided at + https://docs.docker.com/install/ + +Build XCA container +=================== + +Use the following command to build XCA container: + + docker build --rm --build-arg USER_ID=`id -u` --tag xca . + +This will build a container named "xca" using default configuration. + +Build options +------------- + +There are some options to customize build. Use dockers "--build-arg" +option to add options. + +CODENAME : code name of ubuntu version + example: --build-arg CODENAME=bionic +USER_ID : id of user "user" inside of container + example: --build-arg USER_ID=`id -u` +PARALLELMFLAGS : make flags for parralel build + example: --build-arg PARALLELMFLAGS=-j2 +OPENSSL_VERSION : version of OpenSSL + example: --build-arg OPENSSL_VERIONS=1.1.1d +OPENSSL_SHA1 : sha1 checksum of OpenSSL package + example: --build-arg OPENSSL_SHA1=056057782325134b76d1931c48f2c7e6595d7ef4 +OPENSSL_BUILD_PARALLEL: enable/disable parallel build of OpenSSL + example: --build-arg OPENSSL_BUILD_PARALLEL=YES + note: some (older) versions of OpenSSL do not support parallel build + +Run XCA +======= + +Once the container is built, run it using the following command: + + docker run --rm -it --user `id -u` --network=host \ + -e DISPLAY=$DISPLAY -e "QT_X11_NO_MITSHM=1" \ + xca + +Share local directory +--------------------- + +Use docker volumes to share a local directory. This might be useful to store data base files. + + mkdir -p ./some_local_directory + docker run --rm -it --user `id -u` --network=host \ + -e DISPLAY=$DISPLAY -e "QT_X11_NO_MITSHM=1" \ + -v ./some_local_directory:/backup \ + xca + +This makes ./some_local_directory accessible in the container as /backup. + +Run bash +-------- + +For debugging purposes container can be started in bash mode: + + docker run --rm -it --user `id -u` --network=host \ + -e DISPLAY=$DISPLAY -e "QT_X11_NO_MITSHM=1" \ + --entrypoint dumb-init xca -- bash +