FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ python3 \ python3-pip \ python3-venv \ git \ fontconfig \ fonts-noto-cjk \ fonts-noto-color-emoji \ libfontconfig1 \ libgl1 \ libglx-mesa0 \ libgl1-mesa-dri \ libegl1 \ libegl-mesa0 \ && rm -rf /var/lib/apt/lists/* # 先取一份固定版本,用来复制内置字体 RUN git clone --branch v0.0.20 --depth 1 https://github.com/MeetWq/meme-generator.git /tmp/meme-generator \ && mkdir -p /usr/share/fonts/meme \ && cp /tmp/meme-generator/resources/fonts/* /usr/share/fonts/meme/ \ && fc-cache -fv \ && rm -rf /tmp/meme-generator RUN useradd -m -u 1000 user USER user ENV HOME=/home/user ENV PATH=$HOME/.local/bin:$PATH ENV POETRY_CONFIG_DIR=$HOME/app/.poetry_config WORKDIR $HOME/app COPY --chown=user . $HOME/app # 这里也锁同一个版本,避免前后版本不一致 RUN git clone --branch v0.0.20 --depth 1 https://github.com/MeetWq/meme-generator.git RUN pip install --no-cache-dir poetry RUN git clone --depth 1 https://github.com/MeetWq/meme-generator-contrib.git \ && mkdir -p $HOME/meme-extend \ && mv meme-generator-contrib/memes/* $HOME/meme-extend \ && rm -rf meme-generator-contrib RUN mkdir -p $HOME/.config/meme_generator COPY --chown=user config.toml $HOME/.config/meme_generator/config.toml # 你的自定义覆盖 COPY --chown=user utils.py $HOME/app/meme-generator/meme_generator/ COPY --chown=user dianzhongdian/__init__.py $HOME/app/meme-generator/meme_generator/memes/dianzhongdian/ RUN cd meme-generator \ && poetry config virtualenvs.in-project true \ && poetry install \ && . .venv/bin/activate \ && python3 -m meme_generator.download CMD cd meme-generator && . .venv/bin/activate && python3 -m meme_generator.app