Nicotine+ supports various command-line arguments that allow you to customize startup behavior, specify alternative configurations, and automate tasks.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nicotine-plus/nicotine-plus/llms.txt
Use this file to discover all available pages before exploring further.
Basic Usage
The basic command to launch Nicotine+ is:Available Arguments
Help and Version
-h, --help
Display help message with all available options and exit.
-v, --version
Display the Nicotine+ version and exit.
Configuration Options
-c, --config <file>
Use a non-default configuration file. This is useful for:
- Running multiple instances with different configurations
- Testing new settings without affecting your main config
- Profile-based configurations
When using a custom config file, Nicotine+ automatically allows multiple instances to run simultaneously.
-u, --user-data <folder>
Specify an alternative folder for user data and plugins. This overrides the default data directory.
Default locations:
- Linux:
~/.local/share/nicotine/ - macOS:
~/Library/Application Support/nicotine/ - Windows:
%APPDATA%\nicotine\
Display Options
-s, --hidden
Start Nicotine+ without showing the main window. The application runs in the background and can be accessed from the system tray icon (if enabled).
- Starting Nicotine+ at system boot
- Running as a background service
- Minimizing system resource usage on startup
-n, --headless
Start Nicotine+ in headless mode with no graphical interface. This mode is designed for:
- Server deployments
- Docker containers
- Remote systems without a display
- CLI-only automation
Network Options
-b, --bindip <ip>
Bind network sockets to a specific IP address. This is particularly useful when:
- Using a VPN and you want to bind to the VPN interface
- Running multiple network interfaces
- Ensuring traffic goes through a specific network adapter
If you’re using a VPN, binding to the VPN IP ensures all Soulseek traffic routes through the VPN, preventing leaks if the VPN disconnects.
-l, --port <port>
Listen on a specific port number instead of the default (2234) or configured port.
- Port forwarding requirements
- Avoiding port conflicts
- Firewall configurations
File Sharing Options
-r, --rescan
Rescan shared files and exit immediately. This updates your file index without starting the full application.
This is useful for:
- Scheduled updates via cron jobs
- CI/CD pipelines
- Automated maintenance scripts
Combining Arguments
You can combine multiple arguments for complex configurations:Exit Codes
Nicotine+ returns different exit codes based on the result:0- Success1- Error occurred (e.g., Python version too old, rescan failed)
Environment Variables
While not direct CLI arguments, these environment variables affect Nicotine+:XDG_CONFIG_HOME
Overrides the default config directory on Linux:
XDG_DATA_HOME
Overrides the default data directory on Linux:
Automation Examples
Systemd Service
Run Nicotine+ as a systemd service:/etc/systemd/system/nicotine.service
Docker Container
Run Nicotine+ in Docker:Dockerfile
Automated Testing Script
test-nicotine.sh
Troubleshooting
Multiple Instances
By default, Nicotine+ prevents running multiple instances. To run multiple instances:Permission Errors
If you encounter permission errors:Port Already in Use
Headless Mode Not Working
Ensure all configuration is done before running headless:Hidden Arguments
Nicotine+ has a few undocumented arguments for special use cases:--ci-mode
Disables critical error dialogs. Used for automated testing and CI/CD pipelines.
--isolated
Disables features requiring external applications. Useful for:
- Docker containers
- Sandboxed environments
- Minimal installations
These hidden arguments are not shown in
--help output and are intended for advanced use cases only.Next Steps
- Learn about Plugins to extend functionality
- Explore the Soulseek Protocol for technical details
- Check out configuration options in the GUI settings