Initial commit: Nicotine-Less Docker container
All checks were successful
Build and Push Docker Image / check-version (push) Successful in 3s
Build and Push Docker Image / create-manifest (push) Has been skipped
Build and Push Docker Image / build (linux/amd64, linux-amd64) (push) Has been skipped

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 9802d6cdcf
11 changed files with 590 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
services:
nicotine-less:
image: git.nicola.sh/public/nicotine-less:latest
# Or build locally:
# build: .
container_name: nicotine-less
hostname: nicotine-less
restart: unless-stopped
# Ports
ports:
- "6080:6080" # noVNC web interface
- "2234:2234" # Soulseek TCP
- "2235:2235/udp" # Soulseek UDP
# Environment variables
environment:
- PUID=1000 # User ID (change if needed)
- PGID=1000 # Group ID (change if needed)
- TZ=Europe/Rome # Timezone
- VNC_RESOLUTION=1920x1080 # Desktop resolution
- VNC_DEPTH=24 # Color depth
- VNC_PASSWORD=nicotine # VNC password (optional)
- DISPLAY=:0
# Persistent volumes
volumes:
# Nicotine+ configuration (database, settings, user lists, etc)
- ./data/config:/config
# Completed downloads - CHANGE TO YOUR PATH
- /path/to/your/downloads:/downloads
# Incomplete downloads - CHANGE TO YOUR PATH
- /path/to/your/incomplete:/incomplete
# Optional: additional shared folders - CHANGE TO YOUR PATHS
# - /path/to/your/music:/shares/music:ro
# - /path/to/your/other:/shares/other:ro
# Resource limits (optional, useful for Raspberry Pi)
deploy:
resources:
limits:
memory: 1G
cpus: '2'
reservations:
memory: 256M
# Network
network_mode: bridge
# Privileged mode not required
privileged: false
# Healthcheck
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:6080"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s