-
Notifications
You must be signed in to change notification settings - Fork 8
/
Dockerfile
76 lines (60 loc) · 2.95 KB
/
Dockerfile
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
########################################################################
########################################################################
#
# Faustservice (remote Faust compiler) in a docker
# (L. Champenois & Y. Orlarey)
#
########################################################################
########################################################################
FROM grame/faustready-ubuntu-1604:004
########################################################################
# Now we can clone and compile all the Faust related git repositories
########################################################################
RUN echo "CHANGE THIS NUMBER TO FORCE REGENERATION : 013"
#
# Makeself is a utility for building self-extracting/installing archives that
# need no extra support on the machine on which they are run. This is very useful
# for building installers that don't really need to be unzipped before they are
# executed - ala the Chaos Audio Stratus pedal installer.
#
RUN apt install makeself
# faustservice first as it changes less often
RUN git clone -n https://github.com/grame-cncm/faustservice.git; \
git -C faustservice checkout server; \
make -C faustservice
# then the faust compiler itself (fast cloning from DF)
RUN git clone --single-branch --recurse-submodules --depth 1 https://github.com/grame-cncm/faust.git; \
make -C faust; \
make -C faust install
########################################################################
# Tune image by forcing Gradle upgrade
########################################################################
ENV GRADLE_USER_HOME=/tmp/gradle
RUN echo "process=+;" > tmp.dsp; \
faust2android tmp.dsp; \
faust2smartkeyb -android tmp.dsp; \
rm tmp.apk
########################################################################
# And starts Faustservice
########################################################################
EXPOSE 80
WORKDIR /faustservice
RUN cp ./bin/dockerOSX /usr/local/bin/; \
rm -rf makefiles/osx; \
mv makefiles/dockerosx makefiles/osx; \
rm -rf makefiles/windows64 makefiles/ros makefiles/unity/all makefiles/unity/osx
CMD ./faustweb --port 80 --sessions-dir /tmp/sessions
########################################################################
# HowTo run this docker image
########################################################################
# For local tests:
#-----------------
# docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/sharedfaustfolder:/tmp/sharedfaustfolder -p 80:80 grame/faustservice:latest
#
# For production:
#----------------
# docker run -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/sharedfaustfolder:/tmp/sharedfaustfolder -p 80:80 grame/faustservice:latest
#
# Old production:
#----------------
# docker run -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/sharedfaustfolder:/tmp/sharedfaustfolder -p 80:80 grame/faustservice-ubuntu-1604-neuf-tuned:latest