| |
| FROM golang:1.23-bookworm AS golang-build |
|
|
| FROM node:22-bookworm |
|
|
| |
| COPY --from=golang-build /usr/local/go/ /usr/local/go/ |
| ENV PATH="/usr/local/go/bin:${PATH}" |
|
|
| USER root |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| git \ |
| sudo \ |
| build-essential \ |
| python3 \ |
| python3-pip \ |
| curl \ |
| ffmpeg \ |
| pkg-config \ |
| libssl-dev \ |
| libcairo2-dev \ |
| libpango1.0-dev \ |
| libjpeg-dev \ |
| libgif-dev \ |
| librsvg2-dev \ |
| libsqlite3-dev \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp \ |
| && chmod a+rx /usr/local/bin/yt-dlp |
|
|
| |
| RUN echo "node ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers |
|
|
| WORKDIR /home/node/app |
|
|
| COPY start.sh /start.sh |
| RUN chmod +x /start.sh |
| RUN chown node:node /start.sh /home/node/app |
|
|
| USER node |
|
|
| |
| RUN go version && yt-dlp --version |
|
|
| EXPOSE 3030 |
| CMD ["/start.sh"] |
|
|