Build from the published sources, not from git
[citadel-docker.git] / README.txt
1
2 This directory contains the tooling necessary to build an OCI compatible
3 container of the Citadel System using Docker.
4
5 Copyright (c) 2019-2023 by Art Cancro
6
7 This program is open source software, distributed under the
8 terms of the GNU General Public License, version 3.  It runs
9 on the Linux operating system, which uses the Linux kernel.
10
11 This builds a container that hosts the entire Citadel system, including the Citadel Server,
12 along with WebCit and all supporting libraries.  We are containerizing it to make it easy
13 to deploy, not to turn it into a microservice, so please don't bother with the comments about
14 containerizing a monolithic application.
15
16 The container exposes a multitude of ports and expects a persistent volume to be mounted
17 to /citadel-data , where the database, TLS key/certificate, and any uploaded files will be
18 stored.  It also accepts a build variable `branch` which can be set to any valid branch or
19 tag in the git repository from which to build the container.
20
21 To build the container image, simply run the following command from this
22 directory:
23
24 docker build -t citadel .
25
26 The resulting image can be run as a standalone container.  It will expose
27 ports for all of the services provided by Citadel Server, and two instances
28 of WebCit (HTTP and HTTPS).
29
30 Use the "run-citadel.sh" script to start the container, or use it to learn
31 what information needs to be supplied.  In particular, you need to map a
32 persistent volume to the data directory, otherwise you will lose all of your
33 data when the container is upgraded.
34