aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: fe46a6db248081eb9eab2da3ac8f95a45aa7bad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# poe: online [ruby] environment

sandbox (C):

* seccomp: to restrict syscallls
* cgroup (memory, pids): to limit resources
* overlayfs

backend (Rust):

* Iron: webapp framework

frontend (TypeScript):

* Angular 2

## Installation

**仮想マシン上で実行することを強くお勧めします**

~~~sh
% git clone -b ⚙ https://github.com/rhenium/poe.git && cd poe

% cd sandbox
% vi config.h config_seccomp.h
% make && sudo make install  # => sandbox/runner
% cd ..

% cd backend
% cargo build --release # => target/release/poe
% cd ..

% cd frontend
% npm i
% rake deploy # => frontend/target/
% cd ..

% nvim config.json

% pushd /path/to/data
% mkdir -p env/base
% sudo pacstrap -cd env/base base libxml2
% popd

% rake 'ruby[2.3.0]' # will add to config.json
% rake 'php[7.0.0]'

% ./backend/target/release/poe config.json
% # setup reverse proxy: /api/ => backend, * => frontend
~~~

## License
MIT License