Open VictorKolb opened 3 years ago
I'm not sure from looking at the docker file, but I'm guessing it has to do with user permissions.
Try USER ?
Thanks Chris!
I tried to use USER root
.
Now my dockerfile looks like:
FROM ubuntu:18.04
USER root
RUN apt-get update && \
apt-get install -y software-properties-common gnupg curl && \
curl -sL https://deb.nodesource.com/setup_14.x | bash && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FABAEF95 && \
add-apt-repository -y ppa:supercollider/ppa && \
add-apt-repository -y multiverse && \
apt-get update && \
apt-get install -y nodejs supercollider make && \
apt-get clean
COPY ./package.json package.json
COPY ./package-lock.json package-lock.json
RUN npm i
COPY ./src src
COPY ./Makefile Makefile
CMD ["make", "start"]
Error isn't resolved. Maybe I misunderstood something?
Ok, I have moved a little forward. Now I get the error about display when sclang is starting:
Loading config: /.supercollider.yaml
debug : Start process: /usr/bin/scsynth -u 57110
debug : {
"execPath": "/usr/bin/scsynth",
"args": [
"-u",
"57110"
],
"options": {
"cwd": "/usr/bin",
"detached": false
}
}
debug : pid: 31
stderr : *** ERROR: open directory failed '/root/.local/share/SuperCollider/synthdefs'
stderr : {
"type": "Buffer",
"data": [
67,
97,
110,
110,
111,
116,
32,
108,
111,
99,
107,
32,
100,
111,
119,
110,
32,
56,
50,
50,
56,
55,
49,
51,
54,
32,
98,
121,
116,
101,
32,
109,
101,
109,
111,
114,
121,
32,
97,
114,
101,
97,
32,
40,
67,
97,
110,
110,
111,
116,
32,
97,
108,
108,
111,
99,
97,
116,
101,
32,
109,
101,
109,
111,
114,
121,
41,
10
]
}
sendosc: {
"oscType": "message",
"address": "/notify",
"args": [
1,
0
]
}
debug : udp is listening
rcvosc : [
"/done",
"/notify",
0,
64
]
Loading config: /.supercollider.yaml
debug : {
"sclang": "/usr/bin/sclang",
"scsynth": "/usr/bin/scsynth",
"debug": true,
"echo": true,
"stdin": true,
"failIfSclangConfIsMissing": false,
"conf": {
"includePaths": [],
"excludePaths": [],
"postInlineWarnings": false
},
"sclang_conf": "/usr/local/share/SuperCollider/sclang_conf.yaml"
}
debug : {
"errno": -2,
"syscall": "open",
"code": "ENOENT",
"path": "/usr/local/share/SuperCollider/sclang_conf.yaml"
}
debug : compiling class library...
stderr : QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
stderr : qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
terminate called without an active exception
debug : exit nullSIGABRT
debug : close nullSIGABRT
error : Timeout waiting for sclang to boot pid:44
(node:24) UnhandledPromiseRejectionWarning: CompileError
Ok, my journey is continuing.
Now supercolliderjs isn't connecting to Jack.
I notice, when I start supercollider directly like export QT_QPA_PLATFORM=offscreen &&sclang /etc/radio.sc
, I can see something like:
JackDriver: connected system:capture_1 to SuperCollider:in_1
JackDriver: connected system:capture_2 to SuperCollider:in_2
JackDriver: connected SuperCollider:out_1 to darkice:left
JackDriver: connected SuperCollider:out_2 to darkice:right
But when I try export QT_QPA_PLATFORM=offscreen && node index.js
this is info didn't appear
Update:
If I add s.boot
to file /root/.config/SuperCollider/startup.scd
supercollider trying booting server
booting server 'localhost' on address: 127.0.0.1:57110
And JackDriver start to connect. But port already used by previous server, started with supercoliderjs, and connect is interrupted.
debug : JackDriver: client name is 'SuperCollider-01' <--- As you can see, name is SuperCollider-01 instead SuperCollider
debug : SC_AudioDriver: sample rate = 44100.000000, driver's block size = 1024
debug : JackDriver: connected system:capture_1 to SuperCollider-01:in_1
debug : JackDriver: connected system:capture_2 to SuperCollider-01:in_2
debug : JackDriver: connected SuperCollider-01:out_1 to darkice:left
JackDriver: connected SuperCollider-01:out_2 to darkice:right
debug : Exception in World_OpenUDP: bind: Address already in use
@crucialfelix do you know a way to give a signal to JackDriver about started scsynth?
Ok, all done.
If add this to my .supercollider.yaml
all works!
env:
SC_JACK_DEFAULT_OUTPUTS: "darkice:left,darkice:right"
I'll create PR to add docker example.
Hi. You've got a working Dockerfile with ... icecast? How is it communicating with the world?
We should get this on hub.docker.com
I haven't had anytime to work with supercollider.js unfortunately (full time job)
Hello! I'm trying run Supercolliderjs in Docker but got some error:
There is repo with reproduction: https://github.com/VictorKolb/supercollider-docker