What is Nicotine+?#
Nicotine+ is a graphical client for the Soulseek peer-to-peer network. It’s a great way to find high-quality music files and share your own collection with others.
Docker Compose Example#
# nicotine - https://github.com/sirjmann92/nicotineplus-proper
---
services:
nicotineplus-proper:
image: 'ghcr.io/sirjmann92/nicotineplus-proper:latest' # Or pull from GitHub: 'ghcr.io/sirjmann92/nicotineplus-proper:latest'
container_name: nicotine
network_mode: "container:gluetun" # Comment this line out if you're NOT using a VPN container
#ports: # Comment this line out if you're NOT using a VPN container (line above)
#- '${NICOTINE_PORT}:${NICOTINE_PORT}'
#- '2234:2234'
#env_file: .env # Optionally use a .env file to store environment variables and login credentials
environment: # All environment variables are optional, defaults are listed (TZ, LANG, UMASK, and FORWARD_PORT have no default)
- TZ=Your/Timezone
- LOGIN=${SOUL_SEEK_USERNAME}
- PASSW=${SOUL_SEEK_PASSWORD}
# - PUID=1000
# - PGID=1000
- DARKMODE=True
# - LANG=C.UTF-8
# - UMASK=022
# - UPNP=False
# - AUTO_CONNECT=True
# - TRAY_ICON=False
# - NOTIFY_FILE=False
# - NOTIFY_FOLDER=False
# - NOTIFY_TITLE=False
# - NOTIFY_PM=False
# - NOTIFY_CHATROOM=False
# - NOTIFY_MENTION=False
# - FORWARD_PORT=12345 # Useful for dynamic port forwarding
# - WEB_UI_PORT=${NICOTINE_PORT} # for custom webUI port assignment. Should match 'port' env variable or VPN webUI port
# - WEB_UI_USER=YourWebUIUsername # for custom webUI basic auth username
# - WEB_UI_PASSWORD=YourWebUIPassword # for custom webUI basic auth password
# - HEALTHCHECK_ENABLED=false # Set to false to disable Docker healthcheck (default: true/enabled)
volumes:
- nicotine_downloads:/downloads
#- nicotine_shared:/shared
- ${DATA_PATH}/config:/config # Save your config persistently
- ${DATA_PATH}/data:/data # Store your logs, database, and history
restart: unless-stopped
volumes:
nicotine_downloads:
name: nicotine_downloads
driver_opts:
type: nfs
o: addr=${NAS_ADDR},nolock,soft,rw
device: :${DOWNLOADS_PATH}
# nicotine_shared:
# name: nicotine_shared
# driver_opts:
# type: nfs
# o: addr=${NAS_ADDR},nolock,soft,rw
# device: :${DOWNLOADS_PATH}/sharedVPN Integration#
Like qBittorrent, I route Nicotine+ through Gluetun to ensure all p2p traffic is encrypted and protected by a killswitch.
network_mode: "container:gluetun"Remember to map the necessary ports in your Gluetun configuration if you want to be “connectable” on the Soulseek network.
