FROM alpine:edge as base RUN ["apk", "add", "--no-cache", "inkscape"] RUN ["mkdir", "-p", "/app/version"] COPY ["tv.json", "/app/setup/tv.json"] COPY ["backend/start.sh", "/app/start.sh"] COPY ["backend/sources.py", "/app/setup/sources.py"] COPY ["backend/stream.py", "/app/stream.py"] COPY ["backend/stream_providers.py", "/app/stream_providers.py"] COPY ["frontend/index.html", "/app/index.html"] COPY ["frontend/favicon.svg", "/app/favicon.svg"] COPY ["frontend/script.js", "/app/script.js"] COPY ["frontend/style.css", "/app/style.css"] RUN ["chmod", "-R", "755", "/app"] RUN ["inkscape", "--export-area-page", "--export-width=256", "--export-height=256", "/app/favicon.svg", "--export-filename=/app/favicon.png"] RUN ["rm", "/app/favicon.svg"] FROM roypur/stream-runtime:latest as venv COPY --from=base /app /app RUN ["/app/venv/bin/python3", "/app/setup/sources.py"] RUN ["rm", "-r", "/app/setup"] FROM scratch COPY --from=venv / / USER 1444:1444 ENV ICECAST_SERVER=https://icecast.purser.it:7000 ENV STREAM_SERVER=https://stream.purser.it ENTRYPOINT ["/app/start.sh"]