Updated docs
authorArt Cancro <ajc@citadel.org>
Thu, 1 Dec 2022 17:34:19 +0000 (12:34 -0500)
committerArt Cancro <ajc@citadel.org>
Thu, 1 Dec 2022 17:34:19 +0000 (12:34 -0500)
Dockerfile
README.txt
ctdlvisor.c

index 1426950ae8d25cb39eb66ccf87d83d07777ea330..0db03ed2618a30c6275289dd04a92f0dccfbe241 100644 (file)
@@ -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.
index 89ac695ee38fd3119de8151b7a87a78c4051863c..e98e016d030b7244a964435d2a590462f0e8f373 100644 (file)
@@ -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:
index 0fa7d7f7fdf3df7fce27ca5b412794d42200bbfd..d1d024e934ff86e276aea6f41508ba5f734b67b4 100644 (file)
@@ -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
 //