Introduction
Configuration files are all in user's directory under ~/.openveo/portal
- ~/.openveo/portal/conf.json
- ~/.openveo/portal/databaseConf.json
- ~/.openveo/portal/loggerConf.json
- ~/.openveo/portal/serverConf.json
- ~/.openveo/portal/webservicesConf.json
Nb : You must restart OpenVeo Portal after modifications.
Configure OpenVeo Portal
Open ~/.openveo/portal/conf.json
{
"passwordHashKey" : "KEY", // Replace KEY by a secret key used to encrypt users passwords
"theme": "default", // The name of the theme to use (this is the name of the directory in assets/themes)
"exposedFilter": [ // A list of custom properties' ids defined in OpenVeo Publish to add as search engine filters
"VJWL6-0Cx",
"NkLcut70x",
"4yYs5f0Ag"
],
"categoriesFilter": "1443702123703", // Id of the taxonomy "categories" defined in OpenVeo Publish
"privateFilter": [ // A list of groups' ids, defined in OpenVeo, only content in this list of groups will be available to an authenticated user
"4keznvtlW"
],
"publicFilter": [ // A list of groups' ids, defined in OpenVeo, only content in this list of groups will be available to an anonymous user
"Vyog3_KgW"
],
"cache": {
"filterTTL": 600, // Time (in seconds) to keep the list of categories and custom properties' values in cache
"videoTTL": 60 // Time (in seconds) to keep information about a video in cache
},
"useDialog": true // true to open videos in a dialog, false to open videos in a new page
}
Configure database access
Open ~/.openveo/portal/databaseConf.json
{
"type" : "mongodb", // Do not change
"host" : "localhost", // MongoDB server host
"port" : 27017, // MongoDB port
"database" : "DATABASE_NAME", // Replace DATABASE_NAME by the name of the OpenVeo Portal database
"username" : "DATABASE_USER_NAME", // Replace DATABASE_USER_NAME by the name of the database user
"password" : "DATABASE_USER_PWD" // Replace DATABASE_USER_PWD by the password of the database user
}
Configure the logger
Open ~/.openveo/portal/loggerConf.json
{
"fileName" : "/var/log/openveo/openveo-portal.log", // Path to application log file
"level" : "info", // Log level
"maxFileSize" : 104857600, // Maximum log file size (in Bytes)
"maxFiles" : 2, // Maximum number of files archived
"console": true // Also print logs to standard output
}
Configure the server
Open ~/.openveo/core/serverConf.json
{
"port": PORT, // Replace PORT by the HTTP server port to use (e.g. 3003)
"sessionSecret": "SECRET", // Replace SECRET by a secret used to secure HTTP sessions
"auth": {
"cas": { // CAS configuration
"version": "3", // The version of the CAS server
"service": "https://my-openveo-portal.test", // The service to use to authenticate to the CAS server
"url": "https://my-cas-server.test:8443/cas", // The url of the CAS server
"userGroupAttribute": "group", // The name of the CAS attribute holding the group name of a user
"userIdAttribute": "id", // The name of the CAS attribute holding the unique id of a user
"userNameAttribute": "name", // The name of the CAS attribute holding the name of a user
"userEmailAttribute": "name", // The name of the CAS attribute holding the email of a user
"certificate": "/etc/ssl/certs/cas.crt", // The absolute path of the CAS server certificate if root CA is not in the Node.JS well known CAs
"groupAssociations": [ // Matches between LDAP groups and OpenVeo groups of contents
{
"group": "my-cas-group", // CAS group to associate
"groups": ["Ef5erF", "89erFgbG"] // Authorized OpenVeo group ids for the CAS group
}
]
},
"ldapauth": { // LDAP configuration
"url": "ldaps://my-ldap.test", // The url of the LDAP server
"bindAttribute": "dn", // The LDAP attribute used by "bindDn" (default to "dn")
"bindDn": "cn=my-user,dc=my-ldap,dc=test", // The value of the "bindAttribute" associated to the entry used to connect to the server API
"bindPassword": "qT5gvobG2ZxYSiY2r4mt", // The password of the entry used to connect to the server API
"searchBase": "ou=user,dc=my-ldap,dc=test", // The search base when looking for users
"searchScope": "sub", // The search scope when looking for users (default to "sub")
"searchFilter": "(&(objectclass=person)(cn={{username}}))", // The search filter to find user by name, use placeholder "{{username}}" which will be replaced by the user name when searching
"userGroupAttribute": "group", // The name of the LDAP attribute holding the group name of a user
"userIdAttribute": "dn", // The name of the LDAP attribute holding the unique id of a user
"userNameAttribute": "cn", // The name of the LDAP attribute holding the name of a user
"userEmailAttribute": "email", // The name of the LDAP attribute holding the email of a user
"certificate": "/etc/ssl/certs/ldap.crt", // The absolute path of the LDAP server certificate full chain if root CA is not in the Node.JS well known CAs
"groupAssociations": [ // Matches between LDAP groups and OpenVeo groups of contents
{
"group": "my-ldap-group", // LDAP group to associate
"groups": ["Ef5erF", "89erFgbG"] // Authorized OpenVeo group ids for the LDAP group
}
]
}
"local": true // Activate local authentication (WARNING: settings this to false won't remove the local authentication, to remove local authentication remove the property)
}
}
Configure the access to OpenVeo Web Service
Open ~/.openveo/portal/webservicesConf.json
{
"path": "https://www.my-openveo-ws.com", // Complete path to the web service (including port if necessary)
"clientID": "65d6247f0293049523d6a5e2efdf49ac07b51600", // OpenVeo Portal id
"secretID": "8a7b0d43a631b52cf15e89eba7a65f274ccc7f73", // OpenVeo Portal secret
"certificate": "server.crt" // The absolute path of the OpenVeo Web Service certificate if root CA is not in the system well known CAs
}