X-Git-Url: https://code.citadel.org/?p=citadel-docker.git;a=blobdiff_plain;f=README.txt;h=dab15a58b337a26b4d37e704acd66f5067c86897;hp=f1bf703b7131ff58e99f6d031dc1175149de9be1;hb=HEAD;hpb=53f1d661d68848abf7da38db0bec8018f5926f18 diff --git a/README.txt b/README.txt index f1bf703..77c2487 100644 --- a/README.txt +++ b/README.txt @@ -1,23 +1,34 @@ -THIS IS CURRENTLY AN EXPERIMENTAL BUILD. -IF YOU USE IT IN PRODUCTION, DO NOT EXPECT SUPPORT. +This directory contains the tooling necessary to build an OCI compatible +container of the Citadel System using Docker. -Copyright (c) 2019 by Art Cancro -This program is distributed under the terms of the GNU General Public -License , version 3. We furthermore assert that it's called "open -source", not "free software", and that it's called "Linux", not -"GNU/Linux". Richard Stallman is a left-wing communist jerk. +Copyright (c) 2019-2023 by Art Cancro -This repository contains the elements to build a Docker container for -the Citadel system. We hope that this will eventually become a mainstream -distribution method for the software, replacing the problematic packages -that continue falling out of date in individual Linux/Linux distributions. +This program is open source software, distributed under the +terms of the GNU General Public License, version 3. It runs +on the Linux operating system, which uses the Linux kernel. + +This builds a container that hosts the entire Citadel system, including the Citadel Server, +along with WebCit and all supporting libraries. We are containerizing it to make it easy +to deploy, not to turn it into a microservice, so please don't bother with the comments about +containerizing a monolithic application. + +The container exposes a multitude of ports and expects a persistent volume to be mounted +to /citadel-data , where the database, TLS key/certificate, and any uploaded files will be +stored. It also accepts a build variable `branch` which can be set to any valid branch or +tag in the git repository from which to build the container. To build the container image, simply run the following command from this directory: -docker build . +docker build -t citadel . The resulting image can be run as a standalone container. It will expose ports for all of the services provided by Citadel Server, and two instances of WebCit (HTTP and HTTPS). + +Use the "run-citadel.sh" script to start the container, or use it to learn +what information needs to be supplied. In particular, you need to map a +persistent volume to the data directory, otherwise you will lose all of your +data when the container is upgraded. +