Initial commit: Nicotine-Less Docker container
Some checks failed
Build and Push Docker Image / check-version (push) Successful in 16s
Build and Push Docker Image / build (amd64, linux/amd64, linux-amd64) (push) Failing after 11s
Build and Push Docker Image / merge (push) Has been cancelled
Build and Push Docker Image / build (arm64, linux/arm64, linux-arm64) (push) Has been cancelled

Lightweight Docker container for Nicotine+ with noVNC web interface and Firefox ESR browser.

Features:
- noVNC web interface with dynamic resize support
- Firefox ESR for testing ports and browsing
- TigerVNC with AcceptSetDesktopSize enabled
- Supervisor for process management
- Configurable user/group permissions

🤖 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 2a83ca2de7
10 changed files with 571 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