更新 CloudCenter 镜像
parent
a1440e486d
commit
38445a8a9d
|
@ -1,10 +1,10 @@
|
|||
FROM python:3
|
||||
FROM python:3.11
|
||||
|
||||
# image info
|
||||
LABEL Project="CloudCenter"
|
||||
LABEL Author="lzwang"
|
||||
LABEL Email="zhuangwang82@gmail.com"
|
||||
LABEL Version="nightly"
|
||||
LABEL Version=0.3
|
||||
|
||||
# setup volume
|
||||
VOLUME /project
|
||||
|
@ -12,41 +12,6 @@ VOLUME /project
|
|||
# setup workdir
|
||||
WORKDIR /project
|
||||
|
||||
# update apt packages
|
||||
RUN apt-get update -y && apt-get upgrade -y \
|
||||
&& apt-get install apt-utils -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# install nodejs
|
||||
# https://github.com/nodesource/distributions/blob/master/README.md#debinstall
|
||||
RUN DEBIAN_FRONTEND=noninteractive \
|
||||
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
||||
&& apt-get install -y nodejs \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# copy gitsh script
|
||||
COPY ./cloud-center/gitsh /project/tools/gitsh
|
||||
RUN chmod +x /project/tools/gitsh
|
||||
|
||||
# python pip install dependencies
|
||||
COPY ./cloud-center/requirements.txt /project/requirements.txt
|
||||
|
||||
# redis must > 4.0 (ignore slowapi requirement)
|
||||
RUN pip install --no-cache-dir --upgrade pip \
|
||||
&& pip install --no-cache-dir -r requirements.txt \
|
||||
&& pip install --no-cache-dir redis -U \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /tmp/*
|
||||
|
||||
# install packages
|
||||
RUN apt-get update -y && apt-get upgrade -y \
|
||||
&& apt-get install vim pngquant -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# setup timezone
|
||||
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||
&& date
|
||||
|
||||
# setup mirrors of apt
|
||||
# https://mirrors.tuna.tsinghua.edu.cn/help/debian/
|
||||
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free" > /etc/apt/sources.list \
|
||||
|
@ -54,17 +19,50 @@ RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib
|
|||
&& echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free" >> /etc/apt/sources.list \
|
||||
&& echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list
|
||||
|
||||
# update apt packages [Basic]
|
||||
RUN apt-get update -y && apt-get upgrade -y \
|
||||
&& apt-get install apt-utils -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# install nodejs 21
|
||||
# https://github.com/nodesource/distributions/blob/master/README.md#debinstall
|
||||
RUN curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh \
|
||||
&& chmod 500 nsolid_setup_deb.sh \
|
||||
&& ./nsolid_setup_deb.sh 21 \
|
||||
&& apt-get install nodejs -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# setup nodejs
|
||||
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org \
|
||||
&& echo "alias npm=cnpm" >> /root/.bashrc \
|
||||
&& npm config set registry https://registry.npm.taobao.org
|
||||
|
||||
# copy gitsh script
|
||||
COPY ./gitsh /project/tools/gitsh
|
||||
RUN chmod +x /project/tools/gitsh
|
||||
|
||||
# setup mirrors of pip
|
||||
# https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
|
||||
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
|
||||
# setup mirrors of nodejs
|
||||
RUN npm install -g cnpm \
|
||||
&& npm config set registry https://registry.npm.taobao.org
|
||||
# install dependencies
|
||||
COPY requirements.txt requirements.txt
|
||||
RUN pip install --upgrade pip \
|
||||
&& pip install -r requirements.txt \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /tmp/*
|
||||
|
||||
# install Debian packages [Extra]
|
||||
RUN apt-get update -y && apt-get upgrade -y \
|
||||
&& apt-get install vim pngquant -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# setup alias
|
||||
RUN echo "alias ll='ls -la'" >> /root/.bashrc \
|
||||
&& echo "alias npm=cnpm" >> /root/.bashrc
|
||||
RUN echo "alias ll='ls -la'" >> /root/.bashrc
|
||||
|
||||
# setup timezone
|
||||
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||
&& date
|
||||
|
||||
# on start up
|
||||
CMD ["python3"]
|
||||
|
|
|
@ -1,26 +1,92 @@
|
|||
chardet>=4.0.0
|
||||
cos-python-sdk-v5>=1.9.15
|
||||
tencentcloud-sdk-python>=3.0.775
|
||||
gitpython>=3.1.27
|
||||
loguru>=0.6.0
|
||||
matplotlib>=3.5.2
|
||||
mkdocs>=1.3.0
|
||||
mkdocs-material>=8.2.9
|
||||
mkdocs-material-extensions>=1.0.3
|
||||
mkdocs-plugin-inline-svg>=0.1.0
|
||||
mkdocs-glightbox
|
||||
pillow>=9.1.0
|
||||
python-dateutil>=2.8.2
|
||||
pyyaml>=6.0
|
||||
requests>=2.28.0
|
||||
pydantic>=1.9.0
|
||||
httpx >= 0.23.1
|
||||
urllib3 >= 1.26.12
|
||||
fastapi>=0.75.1
|
||||
slowapi>=0.1.5
|
||||
uvicorn>=0.17.6
|
||||
schedule>=1.1.0
|
||||
pendulum>=2.1.2
|
||||
pytest>=7.1.3
|
||||
pytest-mock>=3.10.0
|
||||
ruff>=0.1.3
|
||||
--index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
|
||||
annotated-types==0.6.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
anyio==3.7.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
anyio[trio]==3.7.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
async-generator==1.10 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
async-timeout==4.0.3 ; python_full_version >= "3.11.0" and python_full_version <= "3.11.2"
|
||||
attrs==23.1.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
babel==2.13.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
bcrypt==4.0.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
certifi==2023.7.22 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
cffi==1.16.0 ; os_name == "nt" and implementation_name != "pypy" and python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
chardet==5.2.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
charset-normalizer==2.0.12 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
click==8.1.7 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
colorama==0.4.6 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
contourpy==1.2.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
cos-python-sdk-v5==1.9.26 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
crcmod==1.7 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
cycler==0.12.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
deprecated==1.2.14 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
fastapi-login==1.9.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
fastapi==0.104.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
fonttools==4.44.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
ghp-import==2.1.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
gitdb==4.0.11 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
gitpython==3.1.40 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
h11==0.14.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
httpcore==1.0.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
httpx==0.25.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
idna==3.4 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
importlib-resources==6.1.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
iniconfig==2.0.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
jinja2==3.1.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
kiwisolver==1.4.5 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
limits==3.6.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
loguru==0.7.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
markdown==3.5.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
markupsafe==2.1.3 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
matplotlib==3.8.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mergedeep==1.3.4 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mkdocs-glightbox==0.3.4 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mkdocs-material-extensions==1.3 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mkdocs-material==9.4.8 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mkdocs-plugin-inline-svg==0.1.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
mkdocs==1.5.3 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
numpy==1.25.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
outcome==1.3.0.post0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
packaging==23.2 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
paginate==0.5.6 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
passlib[bcrypt]==1.7.4 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
pathspec==0.11.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pendulum==2.1.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pillow==10.1.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
platformdirs==4.0.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pluggy==1.3.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pycparser==2.21 ; python_full_version >= "3.11.0" and os_name == "nt" and implementation_name != "pypy" and python_version < "4.0"
|
||||
pycryptodome==3.19.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pydantic-core==2.10.1 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
pydantic==2.4.2 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
pygments==2.16.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pyjwt==2.8.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
pymdown-extensions==10.4 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pyparsing==3.1.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pytest-mock==3.12.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pytest==7.4.3 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
python-dateutil==2.8.2 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
python-multipart==0.0.6 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pytzdata==2020.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pyyaml-env-tag==0.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
pyyaml==6.0.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
redis==5.0.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
regex==2023.10.3 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
requests==2.27.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
ruff==0.1.5 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
schedule==1.2.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
setuptools==68.2.2 ; python_version >= "3.12" and python_full_version < "4.0.0"
|
||||
six==1.16.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
slowapi==0.1.8 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
smmap==5.0.1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
sniffio==1.3.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
sortedcontainers==2.4.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
starlette==0.27.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
tencentcloud-sdk-python==3.0.1023 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
trio==0.21.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
typing-extensions==4.8.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
urllib3==1.26.18 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
uvicorn==0.24.0.post1 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
watchdog==3.0.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
win32-setctime==1.1.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0" and sys_platform == "win32"
|
||||
wrapt==1.16.0 ; python_full_version >= "3.11.0" and python_version < "4.0"
|
||||
xmltodict==0.13.0 ; python_full_version >= "3.11.0" and python_full_version < "4.0.0"
|
||||
|
|
Loading…
Reference in New Issue