-
Notifications
You must be signed in to change notification settings - Fork 24
Production setup
Norman Rzepka edited this page Dec 3, 2017
·
13 revisions
Setting up webKnossos requires knowledge about creating and maintaining server infrastructure. This is a high-level guide. Please contact us to discuss specific issues.
We recommend deploying webKnossos with Docker. On our systems we run webKnossos on a Kubernetes cluster.
- Install latest Docker engine and Docker compose
- Get a (sub)domain to run webKnossos on
- Get a SSL certificate for the (sub)domain
- Create
binaryData
andtracingData
that is owned and writable by (uid=1000 gid=1000) - Deploy a mongoDB server (for serious deployments we recommend a replica set)
- Create a configuration file (see below for an example)
- Create a docker container that mounts the necessary volumes (i.e.,
binaryData
,tracingData
, configuration) and runsbin/oxalis -J-Xmx20G -J-Xms1G -Dlogger.file=conf/application-logger.xml -Dconfig.file=conf/deployment.conf -Djava.io.tmpdir=disk
as user1000:1000
include "application.conf"
http {
uri="https://TODO"
address="0.0.0.0"
port=9000
}
mongodb {
uri="mongodb://TODO"
evolution {
enabled=false
applyProdEvolutions=false
applyDownEvolutions=false
}
}
application {
insertInitialData=false
secret="TODO"
authentication {
dataStoreToken=TODO
enableDevAutoLogin=false
enableDevAutoVerify=false
enableDevAutoAdmin=false
}
}
airbrake {
enabled=false
environment="TODO"
ssl=false
endpoint="api.airbrake.io/notifier_api/v2/notices"
apiKey="TODO"
projectKey="TODO"
projectID="TODO"
}
datastore {
enabled = true
key="TODO"
name="localhost"
debugMode=false
oxalis{
uri="localhost:"${http.port}
secured=false
}
}
oxalis.annotation.storageFolder="data/nmls"
braingames.binary{
baseFolder="binaryData"
cacheMaxSize=40
loadTimeout=10
saveTimeout=10
}
mail{
enabled=true
smtp{
host="TODO"
port=587
tls=true
auth=true
user="TODO"
pass=TODO
}
}
google {
analytics.trackingID="TODO"
}
actor.defaultTimeout=5