All right people, grab your favorite 64-bit AMD/Intel Linux machine and try this.

First, install Docker. (On a Debian or Ubuntu host it's "apt install docker.io")

Then, do this:

docker run --name citadel -it --rm --network host --mount type=volume,source=citadel-data,target=/citadel-data citadeldotorg/citadel

You'll see it download, then start up the server (in the foreground).  Citadel and WebCit are up and running.  That's really all there is to it!

Now if you want to play around with the options, you can download the "run-citadel.sh" script from https://tinyurl.com/yjvmgjg7 which does a few more things.  Let me explain what some of these options are:

  • "-it" basically means "run it in the foreground" (interactively, on a tty).  You'll use this while testing, maybe not in production.
  • "--rm" means "delete the container when it exits".  Yes, you want this.  It deletes the container, not the container image.  You don't want a bunch of dead containers lying around.
  • "--network host" makes Docker bind the container's exposed ports directly to the host's network interface, so you don't have to map ports manually.
  • Within the container, Citadel Server will look for a directory called "/citadel-data" for its persistent databases.
    "--mount type=volume,source=citadel-data,target=/citadel-data" tells Docker to mount a native Docker volume to that mount point inside the container.  If you want to use an existing Citadel database, you could do "--mount type=bind,source=/usr/local/citadel,target=/citadel-data" instead.
  • "citadeldotorg/citadel" is the repository and container name.  Theoretically, every time you run the above command, it ought to check for updates and download a newer version if it is available.  I haven't tried this yet but it ought to work.

If you do not trust Docker Hub, you can go to https://code.citadel.org/?p=citadel-docker.git;a=summary and build the container yourself, which isn't actually all that much more work because it pulls in all of the required bits on its own.  It's basically Easy Install with guaranteed system compatibility.

Try it!  I'll have ARM images out soon.

 

Reply via email to