-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
102 lines (85 loc) · 2.26 KB
/
docker-compose.yml
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
version: '3.5'
# basic user setup, used for extending
# source: https://medium.com/@kinghuang/docker-compose-anchors-aliases-extensions-a1e4105d70bd
x-user: &user-template
image: andreasmalling/ft_user
build: ./user
volumes:
- ./video_dashed/:/usr/src/app/video_dashed/
depends_on:
- bootstrap
- metric
- network
- host
services:
# ===================== #
# Personas #
# ===================== #
# user for debugging, with sound and display pass-through
user_debug:
<<: *user-template
privileged: true
environment:
- DISPLAY=${DISPLAY:- :0}
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /dev/snd:/dev/snd
command: ${USER_DEBUG:- -r 0 --head BINGE}
# user which adds content from videos_dashed to local IPFS network
user_seed:
<<: *user-template
command: ${USER_SEED:- -r 0 SEEDER}
user_1:
<<: *user-template
command: ${USER_1:- IDLE}
user_2:
<<: *user-template
command: ${USER_2:- IDLE}
user_3:
<<: *user-template
command: ${USER_3:- IDLE}
user_4:
<<: *user-template
command: ${USER_4:- IDLE}
user_5:
<<: *user-template
command: ${USER_5:- IDLE}
user_6:
<<: *user-template
command: ${USER_6:- IDLE}
# ===================== #
# Main network #
# ===================== #
# IPFS node used for bootstraping local network
bootstrap:
image: andreasmalling/ft_bootstrap
# python server hosting the website for the web player
# the web player can be found on "host/webplayer.html"
host:
image: andreasmalling/ft_host
build: ./website
volumes:
- ./website:/usr/src/app/
# mongoDB client to whom users report
metric:
image: andreasmalling/ft_metric
build: ./metric_server
restart: always
# Dependant on the 'mongo' container running, since it's our storage
depends_on:
- mongo
# collects network data from user containers
network:
image: andreasmalling/ft_network
build: ./network_logger
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- mongo
# mongoDB microservice
mongo:
image: mongo:3.6.3
volumes:
- ./data/db:/data/db
- ./data/dump:/data/dump
command: --smallfiles --noprealloc