mrgasparov / nicotine-novnc

Nicotine+ docker image for Synology NAS and Raspberry Pi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker Build and Push

Nicotine+ is a graphical client for the Soulseek peer-to-peer network. It 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.

noVNC is an open source VNC client which is both a VNC client JavaScript library as well as an application built on top of that library.

This docker image allows you to run Nicotine+ on a Raspberry Pi or on your NAS, and access it via the browser from your computer. It includes the latest Nicotine+ version running on GTK4 and is built to ensure a simple and secure setup.

plot

Supported Architectures

Simply pulling mrgasparov/nicotine-novnc:latest should retrieve the correct image for your architecture. The list of supported architectures is the following:

Architecture Available Devices
x86-64 Synology NAS, PC, Intel Mac
arm64 Raspberry Pi 4, Apple Silicon
armhf Raspberry Pi 3

Deployment

docker-compose

services:
  nicotine:
    image: mrgasparov/nicotine-novnc:latest
    container_name: nicotine
    restart: unless-stopped
    environment:
      - RESOLUTION=1920x1080
      - PORT=6080
      - PUID=1000
      - PGID=1000
    ports:
      - "6080:6080" # UI port
      - "2234-2239:2234-2239" # Listening port range
    volumes:
      - /home/user/nicotine/data:/data
      - /home/user/nicotine/downloads:/downloads

docker cli

docker run -d \
  --name=nicotine-novnc \
  -e PORT=6080 \
  -e RESOLUTION=1920x1080 \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 6080:6080 \
  -p 2234-2239:2234-2239 \
  -v /home/user/nicotine/data:/data \
  -v /home/user/nicotine/downloads:/downloads \
  --restart unless-stopped \
  mrgasparov/nicotine-novnc:latest

Usage

  1. Open your browser and go to [device-ip]:6080
  2. Open the preferences window plot
  3. Enter your username and password and choose listening port. The listening port must be within the range of the ports you exposed during deployment (i.e. 2234-2239) plot
  4. Choose your incomplete, downloads and uploads folders, which should be located under the /downloads folder plot
  5. Choose the folders you want to share, which should be located under the /downloads folder plot

Parameters

Environment Variables

Variable Description Required Default
NOVNC_PORT Port for accessing Nicotine+ in the browser No 6080
RESOLUTION Set the screen resolution for Nicotine+ No 1280x720
PUID Match internal user ID to the ID of your host user. Needs PGID to be set No 0 (root)
PGID Match internal group ID to the ID of your host group. Needs PUID to be set No 0 (root)
UMASK Defines permissions for newly created files No 0000

Volumes

Volume Description
/data Path to persistently mount Nicotine+ application data and configuration
/downloads Path to persistently mount download folder

Acknowledgements

This docker image is based on the excelent realies/soulseek-docker, which uses SoulseekQT instead of Nicotine+.

About

Nicotine+ docker image for Synology NAS and Raspberry Pi

License:MIT License


Languages

Language:Dockerfile 64.2%Language:Shell 21.8%Language:HTML 14.0%