binhex-nicotineplus

binhex-nicotineplus

apps.detail.types.app from Binhex's Repository

apps.detail.sections.overview

Nicotine+ is a graphical client for the Soulseek peer-to-peer network. Nicotine+ aims to be a lightweight, pleasant, free and open source (FOSS) alternative to the official Soulseek client, while also providing a comprehensive set of features.Nicotine+ is written in Python and uses GTK for its graphical user interface.

Application

Nicotine+

Description

Nicotine+ is a graphical client for the Soulseek peer-to-peer network. Nicotine+ aims to be a lightweight, pleasant, free and open source (FOSS) alternative to the official Soulseek client, while also providing a comprehensive set of features. Nicotine+ is written in Python and uses GTK for its graphical user interface.

Build notes

Latest stable Nicotine+ release from Arch Linux.

Usage

docker run -d \
    -p 5900:5900 \
    -p 6080:6080 \
    --name=<container name> \
    --privileged=true \
    -v <path for config files>:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e GLUETUN_INCOMING_PORT=<yes|no> \
    -e HTTPS_CERT_PATH=<path to cert file> \
    -e HTTPS_KEY_PATH=<path to key file> \
    -e WEBPAGE_TITLE=<name shown in browser tab> \
    -e VNC_PASSWORD=<password for web ui> \
    -e ENABLE_STARTUP_SCRIPTS=<yes|no> \
    -e HEALTHCHECK_COMMAND=<command> \
    -e HEALTHCHECK_ACTION=<action> \
    -e HEALTHCHECK_HOSTNAME=<hostname> \
    -e UMASK=<umask for created files> \
    -e PUID=<uid for user> \
    -e PGID=<gid for user> \
    binhex/arch-nicotineplus

Please replace all user variables in the above command defined by <> with the correct values.

Example

docker run -d \
    -p 5900:5900 \
    -p 6080:6080 \
    --name=nicotineplus \
    --privileged=true \
    -v /apps/docker/nicotineplus:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e GLUETUN_INCOMING_PORT=no \
    -e WEBPAGE_TITLE=Nicotine \
    -e VNC_PASSWORD=mypassword \
    -e ENABLE_STARTUP_SCRIPTS=yes \
    -e UMASK=000 \
    -e PUID=0 \
    -e PGID=0 \
    binhex/arch-nicotineplus

If you do specify a password for the web ui via the env var 'VNC_PASSWORD' then it MUST be 6 characters or longer, otherwise it will be ignored.

Access via web interface (noVNC)

http://<host ip>:<host port>/vnc.html?resize=remote&host=<host ip>&port=<host port>&&autoconnect=1

e.g.:-

http://192.168.1.10:6080/vnc.html?resize=remote&host=192.168.1.10&port=6080&&autoconnect=1

Access via VNC client

<host ip>::<host port>

e.g.:-

192.168.1.10::5900

Notes

ENABLE_STARTUP_SCRIPTS when set to yes will allow a user to install additional packages from the official Arch Repository or the Arch User Repository (AUR) via scripts located in the folder /config/home/scripts/. A sample script is located at /config/home/scripts/example-startup-script.sh with comments to guide the user on script creation.

User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-

id <username>

If you appreciate my work, then please consider buying me a beer :D

PayPal donation

Documentation | Support forum

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.categories

apps.downloadStats.title

12,015
apps.downloadStats.metrics.totalDownloads

apps.detail.sections.related

apps.detail.related.exploreCategories

apps.detail.related.exploreAll

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/binhex/arch-nicotineplus
apps.detail.details.lastUpdated2026-05-24
apps.detail.details.firstSeen2024-06-07

apps.detail.sections.runtime

apps.detail.details.webui
https://[IP]:[PORT:6080]/vnc.html?resize=remote&host=[IP]&port=[PORT:6080]&autoconnect=1
apps.detail.details.network
bridge
apps.detail.details.shell
bash
apps.detail.details.privileged
true
apps.detail.details.extraParams
--restart=unless-stopped

apps.detail.sections.configuration

Port: VNCPorttcp

Specify the port to use when connecting using a VNC client.

apps.detail.config.target
5900
apps.detail.config.default
5900
Port: NoVNC (Web Interface)Porttcp

Specify the port to use when connecting using a web browser.

apps.detail.config.target
6080
apps.detail.config.default
6080
Path: /configPathrw

This is the container path to your configuration files, e.g. databases, configuration files, logs etc.

apps.detail.config.target
/config
apps.detail.config.default
/mnt/user/appdata/nicotineplus
Path: /dataPathrw

This is the container path to your downloaded files or user created content.

apps.detail.config.target
/data
Path: /mediaPathrw

This is the container path to your media files, e.g. movies, tv, music, pictures etc.

apps.detail.config.target
/media
apps.detail.config.default
/mnt/user
Variable: HTTPS_CERT_PATHVariable

Specify the path to the HTTPS certificate file

apps.detail.config.target
HTTPS_CERT_PATH
Variable: HTTPS_KEY_PATHVariable

Specify the path to the HTTPS key file

apps.detail.config.target
HTTPS_KEY_PATH
Variable: WEBPAGE_TITLEVariable

Specify the web title shown for the webpage

apps.detail.config.target
WEBPAGE_TITLE
apps.detail.config.default
Nicotine+
Variable: VNC_PASSWORDVariable

Specify the password for the VNC interface

apps.detail.config.target
VNC_PASSWORD
Variable: ENABLE_STARTUP_SCRIPTSVariable

Specify whether to run a script located in '/config/home/scripts/' on startup

apps.detail.config.target
ENABLE_STARTUP_SCRIPTS
apps.detail.config.default
no|yes
Variable: GLUETUN_INCOMING_PORTVariable

Specify whether to attempt to identify and configure the applications listening port when connected to the gluetun network.

apps.detail.config.target
GLUETUN_INCOMING_PORT
apps.detail.config.default
no|yes
Variable: GLUETUN_CONTROL_SERVER_PORTVariable

Specify the port for the gluetun HTTP Control Server.

apps.detail.config.target
GLUETUN_CONTROL_SERVER_PORT
apps.detail.config.default
8000
Variable: GLUETUN_CONTROL_SERVER_USERNAMEVariable

Specify the username for the gluetun HTTP Control Server

apps.detail.config.target
GLUETUN_CONTROL_SERVER_USERNAME
apps.detail.config.default
controlserver
Variable: GLUETUN_CONTROL_SERVER_PASSWORDVariable

Specify the password for the gluetun HTTP Control Server

apps.detail.config.target
GLUETUN_CONTROL_SERVER_PASSWORD
apps.detail.config.default
controlserver
Variable: WEBUI_PORTVariable

Specify the port the application will listen on - IMPORTANT: If you change this value then you will also need to delete and re-create the port mapping to match.

apps.detail.config.target
WEBUI_PORT
apps.detail.config.default
6080
Variable: DEBUGVariable

Specify whether you want to enable debug logging, useful when diagnosing gluetune related issues.

apps.detail.config.target
DEBUG
apps.detail.config.default
no|yes
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

apps.detail.config.target
ENABLE_HEALTHCHECK
apps.detail.config.default
yes|no
Variable: HEALTHCHECK_COMMANDVariable

The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).

apps.detail.config.target
HEALTHCHECK_COMMAND
Variable: HEALTHCHECK_ACTIONVariable

The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.

apps.detail.config.target
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

apps.detail.config.target
HEALTHCHECK_HOSTNAME
apps.detail.config.default
google.com
Variable: PUIDVariable

User ID for the running container

apps.detail.config.target
PUID
apps.detail.config.default
99
Variable: PGIDVariable

Group ID for the running container

apps.detail.config.target
PGID
apps.detail.config.default
100
Variable: UMASKVariable

UMASK for the running container

apps.detail.config.target
UMASK
apps.detail.config.default
000