Sign inSign up

catdv/server

By catdv

•Updated 2 days ago

The server component of Quantum CatDV

Image
Content management system
1

7.6K

catdv/server repository overview

⁠How to use this image

This image is currently available for beta testing, not for production use

You can download the latest image by running

$docker pull catdv/server:latest

or a specific version as follows:

$docker pull catdv/server:9.0.0

You will require a valid CatDV Server licence code to use the image.

⁠Setting runtime configuration, such as licence codes

This image requires that some mandatory environment variables be set in order for it to start correctly. They are as follows:

REGUSER=Registered Name
REGCODE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
WEBCODE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
DBPORT=3306
DBHOST=my.db.host
DBUSER=catdv
DBPASSWORD=password
DBNAME=catdv

There are also some optional fields you might need to specify:

UPLOAD_PATH=/mnt/web_uploads
ALT_UPLOAD_PATH=/mnt/alt_uploads

The way to set these environment variables differs depending on which container provider you are using. If you are running on a local machine you can put these variables into a text file, for example env.list, then start the container from the directory containing your text file follows:

$docker run --env-file=./env.list catdv/server:latest

You could also start up a CatDV server using Docker Compose by adding an entry to your docker-compose.yml as follows:

  server:
    image: catdv/server:latest
    ports:
    - "80:80"
    environment:
    - REGUSER=Registered Name
    - REGCODE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
    - WEBCODE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
    - DBPORT=3306
    - DBHOST=my.db.host
    - DBUSER=catdv
    - DBPASSWORD=password
    - DBNAME=catdv

The DBHOST and PORT should point to an existing mySQL instance that you have created, the username and password should allow access to create or update the schema on the database instance.

The container will start up a webserver on port 80 when it initialises. The CatDV Server will then try to connect to the database you have specified in your environment variables and if the database is blank it will install the schema.

⁠Setting the Initial Admin password

An initial System Administrator password must be set before starting the container. This password can be set via an environment variable as follows:
ADMIN_PASSWORD=my.initial.password
However this will make the password visible via docker inspect. Therefore the preferred method is to specify the password in the secrets file (see below) by specifiying the following property:
catdv.initial.admin.password=my.initial.password
If you do not set an initial admin password the container will not start.

⁠Using a secrets file

It is not best practise to pass secret information (such as registrationn codes and database connnenction strings) into a docker image via environment variables, as they may be printed out in log files and diagnostic information, this is especially of concern if you are running your containers on a platform that you do not manage yourself. We have therfore provided a mechanism to pass in a secrets file.

You will need to set an environment variable to tell the CatDV server where to find the secrets file, e.g.

SECRETS=/mnt/secrets/secrets.properties

You can then use a mechanism, such as a bind mount or docker secret to add that file into the container e.g.

--secret src=catdv-secrets,target=/mnt/secrets/secrets.properties

The contents of the secrets file should look as follows

# Additional catdv.prperties containing secresets such as credentials
reg.user=Registered Name
reg.code=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
reg.webcode=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
catdv.database=jdbc:mysql://127.0.0.1:3306/catdv?user=catdv&password=catdv

# SSL Settings
web.useHttps=true
web.keyStorePath=/mnt/secrets/ssl-keystore.pfx
web.keyStoreAlias=key alias
web.keyStorePassword=password
web.port=443

# Archive Plugin Licence codes
catdv.s3archive_service.licence_code=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

As you can see, you can set registration codes, db connenction strings and SSL key store locations and passwords.

⁠Adding server plugins to the image

If you wish to add CatDV server plugins to your Server container, currently the supported method is to mount them into the container from the host machine/storage e.g. something like
-v /data/plugins/server:/usr/local/catdvServer/plugins/external

Where /data/plugins/server contains all the Server plugins you wish to add to the container.

⁠Binding to a different external port

If you wish the container to map to a different external port you could run:

$docker run --env-file=./env.list -p 8000:80 catdv/server:latest

Then you could visit http://localhost:8000⁠ or http://host-ip:8000⁠ in your browser.

⁠Logs

By default the server will log to the console, so using docker logs [container id] would show the logs. From 9.1.0p20 onwards, if you set a ENV variable of LOGTOFILE="true" then the logs will be written to /var/logs/catdvServer/ to which we would suggest mounting a volume.

⁠Where to get help

Please see https://catdv-docs.services.quantum.com/contact-us/get-in-touch/index.html⁠

⁠License

You will require a valid CatDV Server licence code to use the image.

By downloading and using this image you agree to accept the EULA which you can read here⁠.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Centos7 etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

Tag summary

Content type

Image

Digest

sha256:adf747396…

Size

409.9 MB

Last updated

8 days ago

docker pull catdv/server