Home Download FAQ / Knowledge Base Screenshots Documentation Support

Installing and running Citadel using the Docker container

The entire Citadel system is now available as a Docker image. The container image is downloadable from Docker Hub:

Currently we are offering AMD64, i386, and ARMv7 builds.

How to run a test installation

First, install Docker Engine (of course):

With Docker running, to begin deploying Citadel, execute the following commands:

mkdir /usr/local/citadel
docker run -i --rm --network host --volume=/usr/local/citadel:/citadel-data citadeldotorg/citadel

On the first run, it will download the Citadel container image. Subsequent runs will use the existing image.

That's it! Your entire Citadel system is now running. Try connecting to port 80 on your host. It's all there.

How to run a permanent installation

mkdir /usr/local/citadel
docker run -d --restart=unless-stopped --network host --volume=/usr/local/citadel:/citadel-data --name=citadel citadeldotorg/citadel

Citadel will now automatically start and stop along with the Docker service.


To upgrade, simply download the latest container image with the following command:

docker stop citadel
docker rm citadel
docker pull citadeldotorg/citadel
docker run -d --restart=unless-stopped --network host --volume=/usr/local/citadel:/citadel-data --name=citadel citadeldotorg/citadel

Yes, you are removing the old container, but don't worry: your data is in the persistent volume, not in the container itself.

If you are running the "Snap" version of Docker...

If you are running the "Snap" version of Docker, which is common on Ubuntu systems, you might not be able to perform the bind mount to /usr/local/citadel and you will see a cryptic message about a read-only file system. The easiest way around this is to start the container with a volume mount instead of a bind mount. See your local documentation for the details on this.

For container experts...

If you're already a container guru and you want to run Citadel under kubernetes or some other cloud platform, here are the details of this container image:

Converting from Easy Install

You can easily move from the Easy Install distribution of Citadel to the Docker distribution, as long as you are on the same architecture (for example, 64-bit AMD/Intel). Simply stop the running Citadel installation and remove all files and directories except the following:


All other files in /usr/local/citadel may be deleted. /usr/local/ctdlsupport and /usr/local/webcit may be deleted in their entirety. Also be sure to delete any Citadel-related unit files in /etc/systemd/system.

After you've removed everything except your data, proceed with the installation as shown above. Your existing data will be preserved.

There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.