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
 # 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.
 
 # 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.
 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 - && \
 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.
 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.
 
 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:
 
 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
 // 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
 //
 //
 // Copyright (c) 2021 by the citadel.org team
 //