Deployment
Native Server
The result of a native installation is that the tms_server executable runs under a dedicated user ID, such as tms, on a Linux system. Typically, the program is launched as a system service using systemctl. To guarantee binary compatibility with the operating system, tms_server is built on the system on which it runs. The installation procedure along with utility scripts are detailed in the README-NATIVE file.
See Server Configuration for more information on server configuration.
Docker Server
To run tms_server in a docker container, follow the procedure in README-DOCKER.
See Server Configuration for more information on server configuration.
KeyCmd
To build and install tms_keycmd, please follow the procedure in README-KEYCMD.
Configuration
Server Configuration
By default, tms_server program uses the ${HOME}/.tms directory for all its runtime I/O. The directory contains these subdirectories:
certs - Contains the full certificate chain and private key file used by TLS (HTTPS).
config - Contains tms.toml, which specify the server’s runtime parameters, and log4rs.yml, which configures the server’s logging output.
database - Contain the Sqlite database files.
logs - Contains roller log files written by the server.
migrations - Contains database schema migration files.
See the default tms.toml for a detailed description of all server parameters and log4rs.yml for the standard logging configuration. All default data files shipped with TMS reside under the resources directory.
Server Tenancy and Customization
In addition to TMS’s runtime directory, server installation creates the ${HOME}/tms_customizations directory. The installation process writes the tms-install.out file to the directory. This file contains the installation output log and administrator credentials generated by TMS for the two predefined tenants. These tenants have the following characteristics.
default - The default tenant available for production use.
test - A tenant prepopulated with client and user information for testing purposes.
The tenant credentials in tms-install.out file will look something like this:
***************************************************************************
***************************************************************************
**** Below are the administrator user IDs and passwords for the ****
**** standard tenants created at installation time. The passwords are ****
**** NOT saved by TMS, only hashes of them are saved. Please store ****
**** the passwords permanently in a safe place accessible to TMS ****
**** administrators. ****
**** ****
**** THIS IS THE ONLY TIME THESE PASSWORDS ARE SHOWN. ****
**** ****
**** THE PASSWORDS ARE NOT RECOVERABLE IF THEY ARE LOST! ****
**** ****
**** Tenant: default ****
**** Administrator ID: ~~admin ****
**** Password: db588e822c8c836200381501aa05e8dd75250cfd98643518 ****
**** ****
**** Tenant: test ****
**** Administrator ID: ~~admin ****
**** Password: 91b42891784beb7d26010e273ecae58e51119b2523cde163 ****
**** ****
***************************************************************************
***************************************************************************
This is the only place these credentials appear in the clear. They should be backed up to a secrets store for safe keeping. The tms-install.out file is never ready by TMS, so it can be removed from the TMS server.
KeyCmd Configuration
To configure tms_keycmd, please follow the procedure in README-KEYCMD-CFG.