mirror of
https://github.com/clearml/clearml-server
synced 2025-06-26 23:15:47 +00:00
Migrate to python 3.9 bullseye docker images
Update Mongo driver version
This commit is contained in:
@@ -10,14 +10,11 @@ RUN mv clearml-web /opt/open-webapp
|
||||
COPY --chmod=744 docker/build/internal_files/build_webapp.sh /tmp/internal_files/
|
||||
RUN /bin/bash -c '/tmp/internal_files/build_webapp.sh'
|
||||
|
||||
FROM centos:7 AS staging_image
|
||||
FROM python:3.9-slim-bullseye
|
||||
COPY --chmod=744 docker/build/internal_files/entrypoint.sh /opt/clearml/
|
||||
COPY fileserver /opt/clearml/fileserver/
|
||||
COPY apiserver /opt/clearml/apiserver/
|
||||
|
||||
FROM centos:7
|
||||
COPY --from=staging_image /opt/clearml/ /opt/clearml/
|
||||
|
||||
COPY --chmod=744 docker/build/internal_files/final_image_preparation.sh /tmp/internal_files/
|
||||
COPY docker/build/internal_files/clearml.conf.template /tmp/internal_files/
|
||||
COPY docker/build/internal_files/clearml_subpath.conf.template /tmp/internal_files/
|
||||
|
||||
@@ -1,98 +1,60 @@
|
||||
# For more information on configuration, see:
|
||||
# * Official English Documentation: http://nginx.org/en/docs/
|
||||
# * Official Russian Documentation: http://nginx.org/ru/docs/
|
||||
server {
|
||||
listen 80 default_server;
|
||||
${COMMENT_IPV6_LISTEN}listen [::]:80 default_server;
|
||||
server_name _;
|
||||
root /usr/share/nginx/html;
|
||||
proxy_http_version 1.1;
|
||||
client_max_body_size 0;
|
||||
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
pid /run/nginx.pid;
|
||||
# compression
|
||||
gzip on;
|
||||
gzip_comp_level 9;
|
||||
gzip_http_version 1.0;
|
||||
gzip_min_length 512;
|
||||
gzip_proxied expired no-cache no-store private auth;
|
||||
gzip_types text/plain
|
||||
text/css
|
||||
application/json
|
||||
application/javascript
|
||||
application/x-javascript
|
||||
text/xml application/xml
|
||||
application/xml+rss
|
||||
text/javascript
|
||||
application/x-font-ttf
|
||||
font/woff2
|
||||
image/svg+xml
|
||||
image/x-icon;
|
||||
|
||||
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
|
||||
include /usr/share/nginx/modules/*.conf;
|
||||
# Load configuration files for the default server block.
|
||||
include /etc/nginx/default.d/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
location / {
|
||||
try_files $uri$args $uri$args/ $uri index.html /index.html;
|
||||
}
|
||||
|
||||
http {
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
location /version.json {
|
||||
add_header Cache-Control 'no-cache';
|
||||
}
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
location /api {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass ${NGINX_APISERVER_ADDR};
|
||||
rewrite /api/(.*) /$1 break;
|
||||
}
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
location /files {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass ${NGINX_FILESERVER_ADDR};
|
||||
rewrite /files/(.*) /$1 break;
|
||||
}
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
error_page 404 /404.html;
|
||||
location = /40x.html {
|
||||
}
|
||||
|
||||
# Load modular configuration files from the /etc/nginx/conf.d directory.
|
||||
# See http://nginx.org/en/docs/ngx_core_module.html#include
|
||||
# for more information.
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
${COMMENT_IPV6_LISTEN}listen [::]:80 default_server;
|
||||
server_name _;
|
||||
root /usr/share/nginx/html;
|
||||
proxy_http_version 1.1;
|
||||
client_max_body_size 0;
|
||||
|
||||
# compression
|
||||
gzip on;
|
||||
gzip_comp_level 9;
|
||||
gzip_http_version 1.0;
|
||||
gzip_min_length 512;
|
||||
gzip_proxied expired no-cache no-store private auth;
|
||||
gzip_types text/plain
|
||||
text/css
|
||||
application/json
|
||||
application/javascript
|
||||
application/x-javascript
|
||||
text/xml application/xml
|
||||
application/xml+rss
|
||||
text/javascript
|
||||
application/x-font-ttf
|
||||
font/woff2
|
||||
image/svg+xml
|
||||
image/x-icon;
|
||||
|
||||
# Load configuration files for the default server block.
|
||||
include /etc/nginx/default.d/*.conf;
|
||||
|
||||
location / {
|
||||
try_files $uri$args $uri$args/ $uri index.html /index.html;
|
||||
}
|
||||
|
||||
location /version.json {
|
||||
add_header Cache-Control 'no-cache';
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass ${NGINX_APISERVER_ADDR};
|
||||
rewrite /api/(.*) /$1 break;
|
||||
}
|
||||
|
||||
location /files {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass ${NGINX_FILESERVER_ADDR};
|
||||
rewrite /files/(.*) /$1 break;
|
||||
}
|
||||
|
||||
error_page 404 /404.html;
|
||||
location = /40x.html {
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
}
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ EOF
|
||||
export NGINX_APISERVER_ADDR=${NGINX_APISERVER_ADDRESS:-http://apiserver:8008}
|
||||
export NGINX_FILESERVER_ADDR=${NGINX_FILESERVER_ADDRESS:-http://fileserver:8081}
|
||||
COMMENT_IPV6_LISTEN=$([ "$DISABLE_NGINX_IPV6" = "true" ] && echo "#" || echo "") \
|
||||
envsubst '${COMMENT_IPV6_LISTEN} ${NGINX_APISERVER_ADDR} ${NGINX_FILESERVER_ADDR}' < /etc/nginx/clearml.conf.template > /etc/nginx/nginx.conf
|
||||
envsubst '${COMMENT_IPV6_LISTEN} ${NGINX_APISERVER_ADDR} ${NGINX_FILESERVER_ADDR}' < /etc/nginx/clearml.conf.template > /etc/nginx/sites-enabled/default
|
||||
|
||||
if [[ -n "${CLEARML_SERVER_SUB_PATH}" ]]; then
|
||||
envsubst '${CLEARML_SERVER_SUB_PATH}' < /etc/nginx/clearml_subpath.conf.template > /etc/nginx/default.d/clearml_subpath.conf
|
||||
|
||||
@@ -3,19 +3,20 @@ set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
yum update -y
|
||||
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
yum install -y python36 python36-pip nginx gcc gcc-c++ python3-devel gettext
|
||||
yum -y upgrade
|
||||
python3 -m pip install -U pip
|
||||
apt-get update -y
|
||||
apt-get install -y python3-setuptools python3-dev build-essential nginx gettext
|
||||
apt-get install -y vim curl
|
||||
|
||||
python3 -m ensurepip
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r /opt/clearml/fileserver/requirements.txt
|
||||
python3 -m pip install -r /opt/clearml/apiserver/requirements.txt
|
||||
mkdir -p /opt/clearml/log
|
||||
mkdir -p /opt/clearml/config
|
||||
ln -s /dev/stdout /var/log/nginx/access.log
|
||||
ln -s /dev/stderr /var/log/nginx/error.log
|
||||
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
|
||||
ln -svf /dev/stdout /var/log/nginx/access.log
|
||||
ln -svf /dev/stderr /var/log/nginx/error.log
|
||||
mv /tmp/internal_files/clearml.conf.template /etc/nginx/clearml.conf.template
|
||||
mv /tmp/internal_files/clearml_subpath.conf.template /etc/nginx/clearml_subpath.conf.template
|
||||
pip cache purge
|
||||
yum clean all
|
||||
|
||||
rm -d -r "$(pip cache dir)"
|
||||
apt-get clean
|
||||
|
||||
Reference in New Issue
Block a user