37 lines
1.2 KiB
Docker
37 lines
1.2 KiB
Docker
FROM golang:1.25-bookworm
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
gcc make \
|
|
curl libcurl4-openssl-dev libssl-dev \
|
|
jq sqlite3 ffmpeg \
|
|
libnss3-tools \
|
|
lsof procps \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install mkcert (architecture-aware)
|
|
RUN ARCH="$(dpkg --print-architecture)" && \
|
|
curl -sL "https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-${ARCH}" -o /usr/local/bin/mkcert && \
|
|
chmod +x /usr/local/bin/mkcert
|
|
|
|
# Install Caddy (architecture-aware)
|
|
RUN ARCH="$(dpkg --print-architecture)" && \
|
|
curl -sL "https://github.com/caddyserver/caddy/releases/download/v2.8.4/caddy_2.8.4_linux_${ARCH}.tar.gz" | tar -xz -C /usr/local/bin caddy
|
|
|
|
# Build and install snac2
|
|
RUN git clone --depth 1 https://codeberg.org/grunfink/snac2.git /tmp/snac2-src \
|
|
&& cd /tmp/snac2-src && make && cp snac /usr/local/bin/snac \
|
|
&& rm -rf /tmp/snac2-src
|
|
|
|
# Install mkcert CA into system trust store so snac2 trusts the test certs
|
|
RUN mkcert -install
|
|
|
|
# Allow git operations on the mounted repo
|
|
RUN git config --global --add safe.directory /owncast
|
|
|
|
WORKDIR /owncast
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|