Initial commit: Nicotine-Less Docker container
Some checks failed
Build and Push Docker Image / check-version (push) Has been cancelled
Build and Push Docker Image / build (linux/amd64, linux-amd64:host) (push) Has been cancelled
Build and Push Docker Image / build (linux/arm64, linux-arm64:host) (push) Has been cancelled
Build and Push Docker Image / create-manifest (push) Has been cancelled

A containerized Nicotine+ (Soulseek client) with noVNC web interface.

Features:
- Web-based VNC access with dynamic screen resizing
- Firefox ESR browser included for port testing
- Multi-architecture support (amd64, arm64)
- Automated builds when Nicotine+ releases new versions
- Mirrored Alpine base image to avoid Docker Hub rate limiting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-19 20:09:10 +02:00
commit 4f9cef54c6
11 changed files with 587 additions and 0 deletions

122
README.md Normal file
View File

@@ -0,0 +1,122 @@
# Nicotine-Less
Lightweight Docker container for Nicotine+ (Soulseek client) with noVNC web interface and integrated Firefox ESR browser.
## Features
- Web interface accessible from browser (noVNC)
- Integrated Firefox ESR browser
- Dynamic VNC window resizing
- SSH X forwarding support
- Persistent volumes for configuration and downloads
## Requirements
- Docker and Docker Compose installed
- Available ports: 6080 (web), 2234 (TCP), 2235 (UDP)
## Installation
### 1. Clone the repository
```bash
git clone https://git.nicola.sh/public/nicotine-less.git
cd nicotine-less
```
### 2. Configure docker-compose.yml
Copy the example file and edit it:
```bash
cp docker-compose.yml.example docker-compose.yml
```
**Required changes in `docker-compose.yml`:**
- Set your download and incomplete paths:
```yaml
volumes:
- ./data/config:/config
- /path/to/your/downloads:/downloads # CHANGE THIS
- /path/to/your/incomplete:/incomplete # CHANGE THIS
```
- (Optional) Add shared folders:
```yaml
- /path/to/your/music:/shares/music:ro # ADD YOUR SHARES
```
- (Optional) Adjust PUID/PGID to match your user (to avoid permission issues):
```bash
id -u # Get your user ID
id -g # Get your group ID
```
Then update in `docker-compose.yml`:
```yaml
environment:
- PUID=1000 # Change to your user ID
- PGID=1000 # Change to your group ID
```
### 3. Create config directory
```bash
mkdir -p data/config
```
### 4. Build and start
```bash
docker compose build
docker compose up -d
```
## Usage
### Web access
Open browser:
```
http://localhost:6080
```
Or from another device:
```
http://YOUR_HOST_IP:6080
```
### SSH X Forwarding
```bash
ssh -X user@host_ip
docker exec -it nicotine-less nicotine
```
## Updates
**Automatic updates**: The container image is automatically rebuilt every hour when a new Nicotine+ version is released on PyPI.
To update to the latest version, pull the new image:
```bash
docker compose pull
docker compose up -d
```
Or rebuild locally:
```bash
docker compose down
docker compose build --no-cache
docker compose up -d
```
## License
This project is provided "as-is" without warranties.
## Links
- [Nicotine+ GitHub](https://github.com/nicotine-plus/nicotine-plus)
- [noVNC GitHub](https://github.com/novnc/noVNC)