Sign inSign up

ceramicwhite/moneyprinter

By ceramicwhite

Updated over 1 year ago

https://github.com/FujiwaraChoki/MoneyPrinter

Image
0

7.6K

ceramicwhite/moneyprinter repository overview

compose.yml:

services:
  app:
    image: ceramicwhite/moneyprinter:latest
    container_name: moneyprinter
    init: true
    restart: on-failure
    # env_file:
    #    - .env
    environment:
      - TIKTOK_SESSION_ID=
      - PEXELS_API_KEY=
      - OPENAI_API_KEY=
    #  - ASSEMBLY_AI_API_KEY= # Optional
    #  - PORT=3000 #WebUI
    volumes:
      - ./data/videos:/app/videos
      - ./data/logs:/app/logs
      #- ./client_secrets.json:/app/Backend/client_secret.json
    ports:
      - "3000:3000"
      - "8080:8080"

Dockerfile:

ARG GIT_TAG=main
ARG PYTHON_VERSION=3.11
ARG IMAGEMAGICK_VERSION=7.1.1-27

########################################
FROM python:${PYTHON_VERSION}-slim as app

ARG GIT_TAG \
    IMAGEMAGICK_VERSION

ENV PIP_NO_CACHE_DIR=yes \
    PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    DEBIAN_FRONTEND=noninteractive \
    IMAGEMAGICK_BINARY=/usr/local/bin/magick \
    PORT=${PORT:-3000} \
    LD_LIBRARY_PATH=/usr/local/lib \
    HOME=/app

ADD --keep-git-dir=false https://github.com/FujiwaraChoki/MoneyPrinter.git#${GIT_TAG} /app

WORKDIR /build

RUN apt-get update && \
    apt-get install --no-install-recommends -y \
        build-essential \
        autoconf \
        pkg-config \
        wget curl \
        procps \
        ghostscript \
        libpng-dev \
        libfreetype6-dev \
        libgomp1 \
        inotify-tools \
        ca-certificates && \
    update-ca-certificates && \
    wget https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${IMAGEMAGICK_VERSION}.tar.gz && \
    tar xzf ${IMAGEMAGICK_VERSION}.tar.gz && \
    rm ${IMAGEMAGICK_VERSION}.tar.gz && \
    sh ./ImageMagick-${IMAGEMAGICK_VERSION}/configure \
        --prefix=/usr/local \
        --with-bzlib=yes --with-fontconfig=yes \
        --with-freetype=yes --with-gslib=yes \
        --with-gvc=yes --with-jpeg=yes \
        --with-jp2=yes --with-png=yes \
        --with-tiff=yes --with-xml=yes \
        --with-gs-font-dir=yes && \
    make -j$(nproc) && \
    make install && \
    ldconfig /usr/local/lib && \
    apt-get remove -y --purge \
        build-essential \
        autoconf \
        pkg-config && \
    rm -rf /build && \
    cd /app && \
    pip install --upgrade pip && \
    pip install -r requirements.txt && \
    mkdir -p /app/logs /app/subtitles /app/temp /app/videos && \
    echo '#!/bin/sh\n\python Backend/main.py 2>&1 | tee /app/logs/backend.logs &\n sleep 3\n cd Frontend\n python -m http.server "$PORT" 2>&1 | tee /app/logs/frontend.logs' > ./run.sh && \
    chmod +x ./run.sh && \
    apt-get clean && \
    apt-get autoremove -y && \
    rm -rf /var/lib/apt/lists/* /build && \
    adduser --disabled-password --gecos '' --uid 1000 --home /app appuser && \
    chown -R 1000:1000 /app
    
USER 1000

WORKDIR /app

EXPOSE $PORT 8080

ENTRYPOINT [ "./run.sh" ]

Tag summary

Content type

Image

Digest

sha256:99055f8da

Size

228.9 MB

Last updated

over 1 year ago

docker pull ceramicwhite/moneyprinter