From: Art Cancro Date: Thu, 1 Dec 2022 17:34:19 +0000 (-0500) Subject: Updated docs X-Git-Url: https://code.citadel.org/?p=citadel-docker.git;a=commitdiff_plain;h=fe0492aeb42727ec6c9bc17772a3899180fb4892 Updated docs --- diff --git a/Dockerfile b/Dockerfile index 1426950..0db03ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,16 @@ # Dockerfile for Citadel +# +# Copyright (c) 2019-2022 by the citadel.org team +# +# This program is open source software. Use, duplication, or disclosure +# is subject to the terms of the GNU General Public License, version 3. + +# This script implements a two stage build. In the first stage we load in a full set of +# development tools and build all of the components, including a version of Berkeley DB newer than +# the one supplied in the repo. Everything in /usr/local is copied into the second stage, which +# is built with only runtime libraries to keep the image small. + +#################################################################################################### # Debian Slim has all of the architectures we build on (amd64, i386, arm32) # The first stage build will bring in all of our development tools. @@ -15,7 +27,7 @@ RUN apt -y update RUN apt -y install gcc bison make zlib1g-dev libldap2-dev libssl-dev gettext libical-dev libexpat1-dev curl libcurl4-openssl-dev git autoconf automake netbase libreadline-dev # Build our own local copy of Berkeley DB, because the one included with the system libs is too old. -# For the container ... we're going to do static binaries because disk is cheap and the Gotards are doing it this way now too. +# We will install it to /usr/local and carry it over to the second stage build. RUN sh -c 'mkdir /tmp/db_build && \ cd /tmp/db_build && \ curl -k https://easyinstall.citadel.org/db-6.2.32.NC.tar.gz | tar xvzf - && \ @@ -82,7 +94,7 @@ RUN sh -c '\ #################################################################################################### -# Second stage build is runtime only. +# Second stage build only needs runtime libraries. FROM debian:bullseye-slim AS final-stage # All long term persistent data goes here. Any volume driver may be used. diff --git a/README.txt b/README.txt index 89ac695..e98e016 100644 --- a/README.txt +++ b/README.txt @@ -8,10 +8,15 @@ 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 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 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: diff --git a/ctdlvisor.c b/ctdlvisor.c index 0fa7d7f..d1d024e 100644 --- a/ctdlvisor.c +++ b/ctdlvisor.c @@ -1,6 +1,6 @@ // This is a supervisor program that handles start/stop/restart of // the various Citadel System components, when we are running in -// a Docker container. +// a container. // // Copyright (c) 2021 by the citadel.org team //