43 lines
1.3 KiB
Docker
43 lines
1.3 KiB
Docker
FROM debian:bookworm-slim AS downloader
|
|
|
|
ARG OPEN_STAGE_CONTROL_VERSION=1.30.3
|
|
ARG OPEN_STAGE_CONTROL_BASE_URL=https://openstagecontrol.ammd.net/packages
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates curl unzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /tmp
|
|
|
|
RUN curl -fsSLo open-stage-control.zip \
|
|
"${OPEN_STAGE_CONTROL_BASE_URL}/open-stage-control_${OPEN_STAGE_CONTROL_VERSION}_node.zip" \
|
|
&& unzip -q open-stage-control.zip -d extracted \
|
|
&& mv extracted/open-stage-control_${OPEN_STAGE_CONTROL_VERSION}_node /open-stage-control
|
|
|
|
FROM node:20-bookworm-slim
|
|
|
|
LABEL org.opencontainers.image.title="Open Stage Control"
|
|
LABEL org.opencontainers.image.description="Container image for the Open Stage Control node-only release"
|
|
LABEL org.opencontainers.image.source="https://framagit.org/jean-emmanuel/open-stage-control"
|
|
|
|
ENV OSC_PORT=8080
|
|
ENV OSC_OSC_PORT=8080
|
|
ENV OSC_CACHE_DIR=/config
|
|
ENV OSC_REMOTE_ROOT=/data
|
|
|
|
WORKDIR /opt
|
|
|
|
COPY --from=downloader /open-stage-control /opt/open-stage-control
|
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
|
|
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh \
|
|
&& mkdir -p /config /data
|
|
|
|
VOLUME ["/config", "/data"]
|
|
|
|
EXPOSE 8080/tcp
|
|
EXPOSE 8080/udp
|
|
|
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
CMD []
|