From 38445a8a9d47ac9046a5b4951a72b618ba3796d7 Mon Sep 17 00:00:00 2001 From: lzwang Date: Sun, 12 Nov 2023 01:16:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20CloudCenter=20=E9=95=9C?= =?UTF-8?q?=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-center/Dockerfile | 82 ++++++++++++----------- cloud-center/requirements.txt | 118 ++++++++++++++++++++++++++-------- 2 files changed, 132 insertions(+), 68 deletions(-) diff --git a/cloud-center/Dockerfile b/cloud-center/Dockerfile index 13e83aa..497f105 100644 --- a/cloud-center/Dockerfile +++ b/cloud-center/Dockerfile @@ -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"] diff --git a/cloud-center/requirements.txt b/cloud-center/requirements.txt index 81da5e2..26eda59 100644 --- a/cloud-center/requirements.txt +++ b/cloud-center/requirements.txt @@ -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 \ No newline at end of file +--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"