Installation
Prerequisites
-
MySQL >= 8.0 (or compatible)
Installation Instructions
-
Extract release bundle.
-
Copy
config.gcfg.template
toconfig.gcfg
. Customize appropriately. -
Create the storage location as specified in the configuration.
-
Create your first organization:
./trainingvault.amd64 org create [short name] [full name]
-
Create your first admin user for your first organization:
./trainingvault.amd64 user create [org short name] [username] [password] [email]
-
Install as a service (usually requires root):
sudo ./trainingvault.amd64 service install
-
Start the service (OS-specific). Alternatively, if you’d like to see the output directly, the application can be run with no parameters to run the server in the foreground.
Configuration Options
Sample Configuration File
[deploy]
listen = :3443
publicContentHttpsUrl = https://127.0.0.1:3443
publicContentHttpUrl = http://127.0.0.1:3443
logfile = ./tv.log
[api]
jwtSecret = placeyourcustomsecrethere1234567890
[system]
;zipFixType = cli
;zipBinary = /usr/bin/zip
enableOldScoDirectoryMode = false
enableOldLicenseCheckMode = false
defaultStubMode = 3 ; 1 = old stub mode (relies on external player, no standard switching), 3 = new stub mode (internal player, standard switching)
[database]
dbtype = mssql ; or mysql
host = 127.0.0.1
username = sa
password =
db = trainingvault
migrations = true
debug = true
[webhooks]
dataupdateurl =
[services]
registration = false
[storage]
type = local ; or aws
localStoragePath = ../_content
debug =
;[aws]
;accessKeyId =
;secretAccessKey =
;bucketname = some-bucket-name
;bucketregion = us-east-2
AWS S3 Configuration
When using S3 as a storage backend, you’ll need an IAM policy with the following bucket and object permissions:
-
Bucket-level permissions
-
ListAllMyBuckets
-
ListBucket
-
ListBucketMultipartUploads
-
-
Object-level permissions
-
AbortMultipartUpload
-
DeleteObject
-
DeleteObjectVersion
-
DeleteObjectVersionTagging
-
GetObject
-
GetObjectAcl
-
GetObjectVersion
-
GetObjectVersionAcl
-
GetObjectVersionTagging
-
ListMultipartUploadParts
-
PutObject
-
PutObjectAcl
-
PutObjectVersionAcl
-
PutObjectVersionTagging
-
This list may not be comprehensive, as you may be doing additional things with the bucket that will require custom permissions, such as kms:Decrypt.