Преглед на файлове

:wrench: add laravel toolchain image

Jeremy Zheng преди 9 месеца
родител
ревизия
bdbbdd95dd
променени са 6 файла, в които са добавени 74 реда и са изтрити 3 реда
  1. 5 2
      ai-translate/README.md
  2. 39 0
      docker/laravel/Dockerfile
  3. 11 0
      docker/laravel/README.md
  4. 16 0
      docker/laravel/build.sh
  5. 2 0
      docker/laravel/run.sh
  6. 1 1
      docker/mint/Dockerfile

+ 5 - 2
ai-translate/README.md

@@ -1,13 +1,16 @@
 # Usage
 
 ```bash
-# initial python3 virtual env
+# initial python3 virtual env folder
 $ python3 -m venv $HOME/tmp/python3
-# load python3 virtual env
+# load virtual env vars
 $ source $HOME/tmp/python3/bin/activate
 # install dependencies
 > python3 -m pip install -e .
 
 > python3 -m ai_translate -h
 > python3 -m ai_translate -d -c config.toml -n worker-us-1 -q ai.translate.us
+
+# exit the virtual env
+> deactivate
 ```

+ 39 - 0
docker/laravel/Dockerfile

@@ -0,0 +1,39 @@
+FROM ubuntu:latest
+LABEL maintainer="Jeremy Zheng"
+
+ENV DEBIAN_FRONTEND noninteractive
+ARG PHP_VERSION=8.4
+
+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 apt -y upgrade
+RUN apt -y install git vim locales locales-all tzdata unzip
+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 mkdir -p $HOME/downloads $HOME/build $HOME/local $HOME/tmp
+
+RUN TERM=xterm bash -i -c "$(curl -fsSL https://php.new/install/linux/8.4)"
+RUN bash -i -c "composer global require laravel/installer"
+
+# https://github.com/nvm-sh/nvm
+ENV NVM_VERSION "v0.40.3"
+RUN git clone -b ${NVM_VERSION} https://github.com/nvm-sh/nvm.git $HOME/.nvm
+RUN echo 'export NVM_DIR="$HOME/.nvm"' >> $HOME/.bashrc
+RUN echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $HOME/.bashrc
+RUN echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> $HOME/.bashrc
+RUN bash -i -c "nvm install --lts"
+RUN bash -i -c "npm install -g yarn"
+
+RUN echo "$(date -u +%4Y%m%d%H%M%S)" | tee /VERSION
+
+VOLUME /workspace
+WORKDIR /workspace
+
+CMD ["/bin/bash", "-l"]

+ 11 - 0
docker/laravel/README.md

@@ -0,0 +1,11 @@
+# Usage
+
+```bash
+# start dev container
+$ cd ~/workspace/mint
+$ ./docker/laravel/run.sh
+> cd /workspace/mint/api-12
+> npm install && npm run build
+# start a development server: http://localhost:8000
+> composer run dev
+```

+ 16 - 0
docker/laravel/build.sh

@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -e
+
+export VERSION=$(date "+%4Y%m%d%H%M%S")
+export CODE="mint-laravel"
+export TAR="$CODE-$VERSION"
+
+podman pull ubuntu:latest
+podman build --build-arg PHP_VERSION=$1 -t $CODE .
+podman save --format=oci-archive -o $TAR.tar $CODE
+md5sum $TAR.tar >$TAR.md5
+
+echo "done($TAR.tar)."
+
+exit 0

+ 2 - 0
docker/laravel/run.sh

@@ -0,0 +1,2 @@
+#!/bin/sh
+podman run --rm -it --events-backend=file --hostname=palm --network host -v $(dirname $PWD):/workspace:z mint-laravel

+ 1 - 1
docker/mint/Dockerfile

@@ -41,7 +41,7 @@ RUN wget -q -O $HOME/downloads/composer https://getcomposer.org/installer
 RUN cd $HOME/downloads && php${PHP_VERSION} composer && cp composer.phar /usr/local/bin/composer
 
 # https://github.com/nvm-sh/nvm
-ENV NVM_VERSION "v0.40.2"
+ENV NVM_VERSION "v0.40.3"
 RUN git clone -b ${NVM_VERSION} https://github.com/nvm-sh/nvm.git $HOME/.nvm
 RUN echo 'export NVM_DIR="$HOME/.nvm"' >> $HOME/.bashrc
 RUN echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $HOME/.bashrc