Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Add Flux GitRepository and HelmRelease manifests for automated deployment - Update Neon Vortex game files (HTML5 export with WASM optimization) - Add Kubernetes manifests: Kaniko build job, MPD config, and Ingress - Add MPD Docker configuration with improved settings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
61 lines
1.3 KiB
Docker
61 lines
1.3 KiB
Docker
# Optimized MPD Docker Image with latest packages
|
|
# Multi-architecture support: amd64, arm64, armv7
|
|
FROM alpine:3.21
|
|
|
|
# Install MPD and all audio codecs/plugins
|
|
RUN apk add --no-cache \
|
|
# Core MPD
|
|
mpd \
|
|
mpd-doc \
|
|
# Audio encoders/decoders
|
|
lame \
|
|
lame-doc \
|
|
opus \
|
|
opus-tools \
|
|
vorbis-tools \
|
|
flac \
|
|
wavpack \
|
|
faad2 \
|
|
# FFmpeg for broader codec support
|
|
ffmpeg \
|
|
ffmpeg-libs \
|
|
# Network protocols
|
|
libsmbclient \
|
|
libnfs \
|
|
curl \
|
|
# Audio outputs
|
|
alsa-lib \
|
|
pulseaudio \
|
|
pipewire \
|
|
# Utilities
|
|
bash \
|
|
tini \
|
|
# Development tools for debugging (optional, remove to reduce size)
|
|
# ncmpcpp \
|
|
# mpc \
|
|
&& rm -rf /var/cache/apk/*
|
|
|
|
# Create MPD directories with proper permissions
|
|
RUN mkdir -p \
|
|
/var/lib/mpd \
|
|
/var/lib/mpd/music \
|
|
/var/lib/mpd/playlists \
|
|
/var/lib/mpd/data \
|
|
/var/log/mpd \
|
|
/run/mpd \
|
|
&& chown -R mpd:audio /var/lib/mpd /var/log/mpd /run/mpd
|
|
|
|
# Copy optimized default configuration
|
|
COPY mpd.conf /etc/mpd.conf
|
|
RUN chown mpd:audio /etc/mpd.conf
|
|
|
|
# Expose MPD control port and HTTP streaming port
|
|
EXPOSE 6600 8000
|
|
|
|
# Use tini as init system for proper signal handling
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
|
|
# Run MPD in foreground as mpd user
|
|
USER mpd
|
|
CMD ["mpd", "--no-daemon", "--stderr", "/etc/mpd.conf"]
|