Soulseek server implementation in D
Note that Soulfind exists for local testing, and should not be used in production.
The Releases page contains
precompiled binaries for Linux, Windows and macOS. This includes the server
itself (soulfind), as well as the CLI server management tool (soulsetup).
If you prefer using containers, an image is available in the GitHub Container Registry. Start by pulling the image:
docker pull ghcr.io/soulfind-dev/soulfind
Finally, create and run the container:
docker run -d --name soulfind -v soulfind-data:/data -p 2242:2242 ghcr.io/soulfind-dev/soulfind
You can run the soulsetup CLI server management tool separately:
docker run -it -v soulfind-data:/data --rm ghcr.io/soulfind-dev/soulfind soulsetup
Important
If you change the listening port with soulsetup, recreate the container
using the docker run command, substituting 2242 with the new port.
Remember to remove the existing container first.
BUILDING.md contains instructions on how to compile Soulfind from source.
Soulfind stores all its configuration in a SQLite database, and looks for the
file soulfind.db by default, unless provided a different path as a
--database argument. See Database File under runtime
options.
Server owners can configure the server and add admins using the soulsetup
CLI server management tool. The main database can be backed up safely by
providing a target file path as a --backup argument when running soulsetup.
See Backup File under runtime options.
Admins can interact with the server from a Soulseek client, by sending commands
to the server user in a private chat (help to see all commands).
- port:
2242 - max_users:
65535 - private_mode:
false - motd:
Soulfind <version>
Use a different path for the database file by providing a -d or --database
argument:
soulfind -d path/to/database.db
soulsetup -d path/to/database.db
Back up the main database file to a target path by providing soulsetup a -b
or --backup argument. This is useful for automatic backups using e.g. a cron
job, and is safe even while the database is in use.
soulsetup -b path/to/save/backup.db
Always enforce a specific listening port by providing a -p or --port
argument:
soulfind -p 1234
Enable detailed debug logging by providing the --debug flag:
soulfind --debug
Soulfind is free and open source software, released under the terms of the GNU General Public License v3.0 or later.
People who have contributed to Soulfind:
- seeschloss (creator)
- mathiascode
- slook
© 2005–2025 Soulfind Contributors