xca/INSTALL.docker
2025-03-28 18:11:18 +01:00

63 lines
1.8 KiB
Docker

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 --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=jammy
PARALLELMFLAGS : make flags for parallel build
example: --build-arg PARALLELMFLAGS=-j2
Run XCA
=======
Once the container is built, run it using the following command:
docker run --rm -it -e USER_ID=`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 -e USER_ID=`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 over X-Forwarding with SSH
------------------------------
To run with X-Forwarding over an SSH connection, you can mount .Xauthority. If the application windows doesn't show up, likely you also want to switch to OpenGL done in software:
docker run --rm -it --network=host \
-e DISPLAY=$DISPLAY -e "QT_X11_NO_MITSHM=1" -e LIBGL_ALWAYS_SOFTWARE=1 \
-v $HOME/.Xauthority:/home/user/.Xauthority \
xca
Note: the environment variable USER_ID doesn't need to be set, since USER_ID is derived from ownership of .Xauthority file.