blob: f59fbb515d7b9bb18e7be77fe0d38a1bd4fe87d1 (
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
|
# 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
% mkdir -p /path/to/datadir/{env/base,snippets}
% sudo pacstrap -cd /path/to/datadir/env/base filesystem bash openssl coreutils shadow libxml2
% sudo arch-chroot /path/to/datadir/env/base useradd -m unyapoe -u 27627 # home directory is needed
% 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
|