2023-03-22 15:18:12 +00:00
|
|
|
# syntax = docker/dockerfile:1.5
|
|
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
FROM tabbyml/fastertransformer_backend
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
RUN apt update && apt -y install build-essential libssl-dev zlib1g-dev \
|
|
|
|
|
libbz2-dev libreadline-dev libsqlite3-dev curl \
|
|
|
|
|
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
2023-03-25 06:44:46 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
RUN mkdir -p /home/app
|
|
|
|
|
RUN chown 1000 /home/app
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
USER 1000
|
|
|
|
|
WORKDIR /home/app
|
|
|
|
|
ENV HOME /home/app
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
# Setup pyenv
|
|
|
|
|
RUN git clone --depth=1 https://github.com/pyenv/pyenv.git .pyenv
|
|
|
|
|
ENV PATH="$HOME/.pyenv/shims:/home/app/.pyenv/bin:$PATH"
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
ARG PYTHON_VERSION=3.10.10
|
|
|
|
|
RUN pyenv install ${PYTHON_VERSION}
|
|
|
|
|
RUN pyenv global ${PYTHON_VERSION}
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
ARG PYPI_INDEX_URL=https://pypi.org/simple
|
|
|
|
|
ARG POETRY_VERSION=1.4.0
|
2023-03-22 15:18:12 +00:00
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
RUN --mount=type=cache,target=$HOME/.cache pip install -i $PYPI_INDEX_URL "poetry==$POETRY_VERSION"
|
2023-03-28 07:57:13 +00:00
|
|
|
|
2023-03-29 04:57:03 +00:00
|
|
|
# vector
|
|
|
|
|
RUN <<EOF
|
|
|
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | bash -s -- -y
|
|
|
|
|
EOF
|
2023-04-05 12:19:43 +00:00
|
|
|
ENV PATH "$HOME/.vector/bin:$PATH"
|
2023-03-29 04:57:03 +00:00
|
|
|
|
|
|
|
|
# Supervisord
|
2023-04-05 12:19:43 +00:00
|
|
|
RUN --mount=type=cache,target=$HOME/.cache pip install -i $PYPI_INDEX_URL supervisor
|
|
|
|
|
|
|
|
|
|
RUN mkdir -p ~/.bin
|
|
|
|
|
ENV PATH "$HOME/.bin:$PATH"
|
|
|
|
|
|
|
|
|
|
# Install dagu
|
|
|
|
|
RUN <<EOF
|
|
|
|
|
curl -L https://github.com/yohamta/dagu/releases/download/v1.10.2/dagu_1.10.2_Linux_x86_64.tar.gz > dagu.tar.gz
|
|
|
|
|
tar zxvf dagu.tar.gz
|
|
|
|
|
mv dagu ~/.bin/
|
|
|
|
|
rm dagu.tar.gz LICENSE.md README.md
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
# Install tabby dependencies
|
|
|
|
|
COPY poetry.lock pyproject.toml ./
|
|
|
|
|
RUN poetry export --without-hashes > requirements.txt
|
|
|
|
|
RUN --mount=type=cache,target=$HOME/.cache pip install -i $PYPI_INDEX_URL --no-dependencies -r requirements.txt
|
|
|
|
|
|
2023-03-27 03:12:52 +00:00
|
|
|
COPY tabby ./tabby
|
2023-04-05 12:19:43 +00:00
|
|
|
|
2023-04-06 09:02:10 +00:00
|
|
|
# Install caddy
|
|
|
|
|
RUN <<EOF
|
|
|
|
|
curl -L "https://github.com/caddyserver/caddy/releases/download/v2.6.4/caddy_2.6.4_linux_amd64.tar.gz" -o caddy.tar.gz
|
|
|
|
|
tar zxvf caddy.tar.gz
|
|
|
|
|
mv caddy ~/.bin/
|
|
|
|
|
rm caddy.tar.gz README.md LICENSE
|
|
|
|
|
EOF
|
|
|
|
|
|
2023-04-05 12:19:43 +00:00
|
|
|
# Setup file permissions
|
|
|
|
|
USER root
|
|
|
|
|
RUN mkdir -p /var/lib/vector
|
|
|
|
|
RUN chown 1000 /var/lib/vector
|
|
|
|
|
|
|
|
|
|
RUN mkdir -p $HOME/.cache
|
|
|
|
|
RUN chown 1000 $HOME/.cache
|
|
|
|
|
|
|
|
|
|
USER 1000
|
2023-04-05 16:44:10 +00:00
|
|
|
CMD ["./tabby/scripts/tabby.sh"]
|