Files
jukebox_maker/Dockerfile
Michael Chus 8f36d4e824 copier: rsync с возобновлением, папка назначения, права 777
- Заменить ручное копирование на rsync --partial --append-verify
- Структура на диске: <mount>/<dest_folder>/<rel path from /media>
- dest_folder настраивается (default: media)
- Права на диске: --no-perms --chmod=ugo=rwx
- rsync добавлен в Dockerfile
- Режим "удалить": удаляет только dest_folder, а не весь диск

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 21:56:26 +03:00

23 lines
508 B
Docker

FROM golang:1.25-alpine AS builder
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" \
-o /out/jukebox ./cmd/jukebox
FROM alpine:3.19
RUN apk add --no-cache tzdata ca-certificates rsync
WORKDIR /app
COPY --from=builder /out/jukebox .
VOLUME ["/media", "/mnt/usb", "/config"]
EXPOSE 8080
ENTRYPOINT ["/app/jukebox"]
CMD ["--config", "/config/config.json", "--addr", ":8080", "--media", "/media", "--mount", "/mnt/usb"]