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 7911511195
11 changed files with 581 additions and 0 deletions

43
entrypoint.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/bash
set -e
# Update PUID and PGID if needed
if [ ! -z "$PUID" ] && [ "$PUID" != "1000" ]; then
usermod -u $PUID nicotine
fi
if [ ! -z "$PGID" ] && [ "$PGID" != "1000" ]; then
groupmod -g $PGID nicotine
fi
# Fix permissions on volumes
chown -R nicotine:nicotine /config /downloads /incomplete 2>/dev/null || true
# Create necessary directories
mkdir -p /home/nicotine/.local/share/nicotine
chown -R nicotine:nicotine /home/nicotine/.local
# Create symlink from Nicotine+ config to persistent volume
if [ ! -L "/home/nicotine/.config/nicotine" ]; then
rm -rf /home/nicotine/.config/nicotine
ln -s /config /home/nicotine/.config/nicotine
fi
# Configure VNC password if specified
if [ ! -z "$VNC_PASSWORD" ]; then
mkdir -p /home/nicotine/.vnc
echo "$VNC_PASSWORD" | vncpasswd -f > /home/nicotine/.vnc/passwd
chmod 600 /home/nicotine/.vnc/passwd
chown nicotine:nicotine /home/nicotine/.vnc/passwd
fi
# Export environment variables for supervisord
export DISPLAY
export VNC_PORT
export NOVNC_PORT
export VNC_RESOLUTION
export VNC_DEPTH
export USER
# Start supervisord as root (which will start processes as nicotine user)
exec "$@"