I followed the instructions from here.
Keep in mind that his āstepsā are not entirely accurate, as he mixes plain English āinā with explicit commands of ācdā.
Just notice when to ācorrectā some steps. Otherwise, youāll find that some steps will say āfile/folder not foundā.
Essentially, at the very end youāll have a directory named freebsd-x64
under the ādistā folder. This contains the executables, libraries, and web files. It can be renamed to slskd
and copied to /opt
or wherever you prefer. (I like to use /opt
for applications built/installed that do no exist as official ports or packages.)
Youāll obviously need git
and npm
, so his first command might as well be:
pkg install git npm dotnet sqlite3
Contents of my /opt/slskd after everything is finished
config
etc
libe_sqlite3.so ā /usr/local/lib/libsqlite3.so
LICENSE
slskd
wwwroot
Thereās a YAML config file that doesnāt exist, but it can be copied from config/slskd.example.yml
and copied into the userās local directory at $HOME/.local/share/slskd/slskd.yml
You absolutely need to uncomment and edit the following lines to create a user account to connect to the Soulseek Network. As long as the username is not in use, itāll automatically login as āthisā account. So for testing purposes, you can make it very random. Iāll provide an example that you can change accordingly.
You must uncomment those three lines, and only edit username and password. The āspacingā must be kept intact, so only remove the #
symbol with a single DEL or BACKSPACE stroke.
soulseek:
# address: vps.slsknet.org
# port: 2271
username: RandomHuman1234
password: 1234WXYZ
Itās up to you if you want to change some defaults in the slskd.yml
config file. (The default username/password for the web GUI is slskd/slskd, and the default HTTP port is 5030.)
The moment you login, youāll see if itās connected to the Soulseek Network. (The logs will also provide additional information, which are accessible in the web GUI ā System ā Logs)
Iād recommend, of course, running the executable manually to confirm it connects before trying the rc.d method.
When all is said and done, even if this can work as an rc.d service with full internet access running as root, I still will not run it as root, and would rather keep it as a non-root user. (I used pw
to create the user soulseek
before I built this application.)