Bladeren bron

:wrench: add ai-translate container

Jeremy Zheng 9 maanden geleden
bovenliggende
commit
9c4414091e
5 gewijzigde bestanden met toevoegingen van 75 en 2 verwijderingen
  1. 44 0
      ai-translate/Dockerfile
  2. 1 1
      ai-translate/ai_translate/__main__.py
  3. 21 0
      ai-translate/build.sh
  4. 1 1
      ai-translate/pyproject.toml
  5. 8 0
      ai-translate/run.sh

+ 44 - 0
ai-translate/Dockerfile

@@ -0,0 +1,44 @@
+FROM ubuntu:latest
+LABEL maintainer="Kassapa"
+
+ENV DEBIAN_FRONTEND noninteractive
+# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
+ARG PYTHON_VERSION=3.13
+
+RUN apt update
+RUN apt -y install lsb-release apt-utils \
+    debian-keyring debian-archive-keyring apt-transport-https software-properties-common curl wget gnupg
+RUN add-apt-repository -y ppa:deadsnakes/ppa
+RUN apt -y upgrade
+RUN apt -y install git vim sudo locales locales-all tzdata build-essential \
+    python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv
+RUN apt -y autoremove
+RUN apt -y clean
+
+RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
+RUN locale-gen
+RUN update-locale LANG=en_US.UTF-8
+RUN update-alternatives --set editor /usr/bin/vim.basic
+
+RUN useradd -s /bin/bash -m deploy
+RUN passwd -l deploy
+RUN echo 'deploy ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/101-deploy
+USER deploy
+
+RUN python${PYTHON_VERSION} -m venv $HOME/python3
+RUN echo 'source $HOME/python3/bin/activate' >> $HOME/.bashrc
+
+# https://pip.pypa.io/en/stable/installation/#get-pip-py
+ADD --chown=deploy https://bootstrap.pypa.io/get-pip.py /opt/
+RUN bash -c "source $HOME/python3/bin/activate && python3 /opt/get-pip.py"
+
+COPY --chown=deploy README.md pyproject.toml /opt/ai-translate/
+COPY --chown=deploy ai_translate /opt/ai-translate/ai_translate
+RUN bash -c "source $HOME/python3/bin/activate && python3 -m pip install -e /opt/ai-translate"
+
+RUN echo "$(date -u +%4Y%m%d%H%M%S)" | sudo tee /VERSION
+
+# VOLUME /srv
+# WORKDIR /srv
+
+CMD ["/bin/bash", "-l"]

+ 1 - 1
ai-translate/ai_translate/__main__.py

@@ -23,7 +23,7 @@ def main():
     parser.add_argument('-d', '--debug',
                         action='store_true', help='run on debug mode')
     parser.add_argument('-v', '--version',
-                        action='version', version='%(prog)s v2025.6.11')
+                        action='version', version='%(prog)s v2025.6.27')
     args = parser.parse_args()
 
     if args.debug:

+ 21 - 0
ai-translate/build.sh

@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+if [ "$#" -ne 1 ]; then
+    echo "USAGE: $0 PYTHON_VERSION"
+    exit 1
+fi
+
+export VERSION=$(date "+%4Y%m%d%H%M%S")
+export CODE="mint-python$1"
+export TAR="$CODE-$VERSION"
+
+podman pull ubuntu:latest
+podman build --build-arg PYTHON_VERSION=$1 -t $CODE .
+# podman save --format=oci-archive -o $TAR-$(uname -m).tar $CODE
+# md5sum $TAR.tar >$TAR.md5
+
+echo "done($TAR.tar)."
+
+exit 0

+ 1 - 1
ai-translate/pyproject.toml

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "ai_translate"
-version = "2025.6.11"
+version = "2025.6.27"
 requires-python = ">= 3.13"
 description = "An OpenAI consumer process"
 readme = "README.md"

+ 8 - 0
ai-translate/run.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+if [ "$#" -lt 2 ]; then
+    echo "USAGE: $0 PYTHON_VERSION ARGS"
+    exit 1
+fi
+
+podman run --rm -it --events-backend=file --hostname=palm --network host -v $PWD:/srv:z "mint-python$1" bash -c "source ~/python3/bin/activate && mint-ai-translate-consumer ${@:2}"