-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
121 lines (97 loc) · 3.28 KB
/
Dockerfile
File metadata and controls
121 lines (97 loc) · 3.28 KB
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
FROM debian:buster
ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
ENV SC_VERSION=3.10.4
ENV SCP_VERSION=3.10.0
RUN apt-get update -y -q && \
apt-get install -y -q apt-utils && \
apt-get dist-upgrade -y -q && \
groupadd tidal -g 1000 && \
useradd tidal -g 1000 -u 1000 -m -G audio
RUN apt-get install -y -q \
build-essential \
bzip2 \
ca-certificates \
cmake \
curl \
git \
jackd2 \
libasound2-dev \
libavahi-client-dev \
libcwiid-dev \
libffi-dev \
libfftw3-dev \
libgmp-dev \
libicu-dev \
libjack-jackd2-dev \
libncurses-dev \
libreadline6-dev \
libsndfile1-dev \
libtinfo5 \
libudev-dev \
libxt-dev \
net-tools \
pkg-config \
sudo \
unzip \
wget
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -yq nodejs
RUN apt-get clean && rm -rf /var/lib/apt/lists/
RUN mkdir -p /tmp/sc && \
cd /tmp/sc && \
wget -q https://github.com/supercollider/supercollider/releases/download/Version-$SC_VERSION/SuperCollider-$SC_VERSION-Source-linux.tar.bz2 -O sc.tar.bz2 && \
tar xvf sc.tar.bz2
RUN cd /tmp/sc/SuperCollider-Source && \
mkdir -p build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE="Release" \
-DBUILD_TESTING=OFF \
-DSUPERNOVA=ON \
-DNATIVE=OFF \
-DSC_WII=OFF \
-DSC_QT=OFF \
-DSC_ED=OFF \
-DSC_EL=OFF \
-DSC_VIM=OFF \
.. && \
make -j && \
make install
RUN mkdir -p /tmp/scp && \
cd /tmp/scp && \
wget -q https://github.com/supercollider/sc3-plugins/releases/download/Version-$SCP_VERSION/sc3-plugins-$SCP_VERSION-Source.tar.bz2 -O scp.tar.bz2 && \
tar xvf scp.tar.bz2
RUN cd /tmp/scp/sc3-plugins-$SCP_VERSION-Source && \
mkdir -p build && \
cd build && \
cmake -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/ \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DSC_PATH=/tmp/sc/SuperCollider-Source/ \
-DQUARKS=ON \
-DNATIVE=OFF \
-DSUPERNOVA=ON .. && \
make -j && \
make install && \
ldconfig && \
mkdir /usr/local/share/SuperCollider/Extensions && \
mv /usr/local/share/SuperCollider/SC3plugins /usr/local/share/SuperCollider/Extensions/SC3plugins
USER tidal
RUN mkdir -p /home/tidal/.local/share/SuperCollider/Extensions
RUN cd /home/tidal/.local/share/SuperCollider/Extensions && git clone https://github.com/musikinformatik/SuperDirt.git SuperDirt && cd SuperDirt && git checkout tags/v1.1.2
RUN cd /home/tidal/.local/share/SuperCollider/Extensions && git clone https://github.com/tidalcycles/Dirt-Samples.git Dirt-Samples
RUN cd /home/tidal/.local/share/SuperCollider/Extensions && git clone https://github.com/supercollider-quarks/Vowel.git Vowel
WORKDIR /home/tidal
ENV BOOTSTRAP_HASKELL_NONINTERACTIVE=1
RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
RUN echo "source \"\${HOME}/.ghcup/env\"" >> ${HOME}/.bash_profile
RUN ["bash", "-c", "source ${HOME}/.ghcup/env && cabal update && cabal v2-install --lib tidal"]
RUN git clone https://github.com/thgrund/extramuros.git \
&& cd extramuros \
&& git checkout osc \
&& npm install
COPY --chown=1000:1000 ["./configs/startup.sh", "/home/tidal/startup.sh"]
RUN chmod +x startup.sh
EXPOSE 57120/udp
EXPOSE 57110/udp
EXPOSE 8000/tcp
CMD ["bash", "-l", "-c", "./startup.sh"]