summaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md53
1 files changed, 38 insertions, 15 deletions
diff --git a/readme.md b/readme.md
index a7e11ca..0b16214 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,18 @@
-Deployment
-==========
+Installation
+============
+
+Install the following packages:
+
+ - apache2
+ - nodejs (>= 10.0.22)
+ - python3 (>= 3.4)
+ - python3-ply
+ - python3-psycopg2
+ - python3-termcolor
+ - swi-prolog-nox (>= 7.2)
+
+SWI prolog
+----------
To use the correct SWI prolog package (>= 7.2) on Debian, add a custom
repository by creating the file /etc/apt/sources.list.d/prolog.list
@@ -16,17 +29,29 @@ apt-get update
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EF8406856DBFCA18
apt-get update
-Install the following packages:
+libseccomp
+----------
- - apache2
- - python3 (>= 3.4)
- - python3-ply
- - python3-psycopg2
- - python3-termcolor
- - swi-prolog-nox (>= 7.2)
- - nodejs (>= 10.0.22)
+A new version of libseccomp (≥ 2.2) with Python bindings is needed to sandbox
+Python interpreters. This is not available yet in most distributions, so fetch
+the latest sources with
+
+ git clone https://github.com/seccomp/libseccomp
+
+then build and install it with
+
+ ./configure --enable-python
+ make
+ make install
+
+nodejs
+------
+
+Run "npm install" inside the "web" directory to install all dependencies (they
+will be installed inside the "web" directory)
-Settings:
+Settings
+========
- point webroot to codeq-web
- set up reverse proxy for /ws/ to the node server:
@@ -40,13 +65,11 @@ Settings:
ProxyPassReverse /ws/ http://localhost:8083/ws/
- set _path_prefix in server.problems
- set DB settings in db
- - run "npm install" inside the "web" directory to install all dependencies
- (they will be installed inside the "web" directory)
-Running:
+Running
+=======
- run the prolog interpreter server: swipl prolog/runner/main.pl
- - run the python interpreter server: python3 python/runner/main.py
- run the session daemon: python3 daemon.py
- run the web server for client communication: node web/main.js