Hey Julian
On Mon, 2020-05-04 at 15:53 +0100, Julian Brooks wrote:
I've got a classful of computing 17yo's who I'd like to spend a few weeks with netpd, and also do some intro pd coding with. Sadly I've been told we have to do this on a private server - even more annoyingly this will be with aws (on ubuntu).
Sounds fine. No need to worry so far.
Any gotchas or tips on setting up a netpd server you can share would be much appreciated. e.g. - Does the server need the various libs installed, realtime prios, memory allocation etc.?
You need only the handful of externals as documented in the README of netpd-server: iemnet, osc, slip. The server is basically only a relay and doesn't need any special configuration or that much resources. It is also not real-time sensitive. I've tested both, Debian 10 and Ubuntu 18.04. There you can simply use Pd and externals from official repos:
$ apt install --no-install-recommends puredata-core pd-iemnet pd-osc pd-slip git-core
And the software itself:
$ cd /opt $ git clone https://github.com/reduzent/netpd-server
Then you can you already run it with:
$ pd -nogui -noaudio -nomidi -open /opt/netpd-server/netpd-server.pd
I usually create a systemd service unit file to run it as a service proper that is automatically started when the system reboots.
For that, let's create a dedicated system user:
$ useradd -r -s /usr/sbin/nologin tpf-server
For creating a system unit file, put content between --- into /etc/system/systemd/netpd-server.service:
[Unit] Description=netpd server After=syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/pd
-nogui -noaudio -nomidi -nrt
-open /opt/netpd-server/netpd-server.pd
User=netpd-server
Group=netpd-server
[Install] WantedBy=multi-user.target
Now, you enable the service with:
$ systemctl daemon-reload $ systemctl enable netpd-server.service
and start it with:
$ systemctl start netpd-server.service
Done.
I hope this makes you fly within a few minutes. Beware that the client defaults to netpd.org as server. However, you could distribute a customized netpd-preferences.cnf near main.pd, so that your students do not have to care about configuring the correct server first.
Cheers, Roman