diff --git a/base/Dockerfile b/base/Dockerfile index 48a3736f5363d7041489fc8c4b88604a5a198ba2..0b2b3c400c56caf4aa5274c5b527de105d5756a9 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -4,32 +4,11 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -# Use CentOS 7 as base image -FROM centos:7 +# Use Rocky Linux 8.9 minimal as base image +FROM rockylinux:8.9-minimal -# Copy the repository file to the container -COPY vault.repo /root/vault.repo +# Install epel repo, make, nano, openssh, wget, rsync, cronie, pip +RUN microdnf -y install epel-release make nano openssh-clients wget rsync cronie python3.11-pip -# Update the system and install basic utilities -RUN yum-config-manager --disable base && \ - yum-config-manager --disable updates && \ - yum-config-manager --disable extras && \ - cat /root/vault.repo >> /etc/yum.repos.d/Centos-Vault.repo && \ - yum clean all && yum makecache - -# Install epel repo -RUN yum update -y && yum -y install epel-release - -# Install make, nano, openssh, wget, rsync, and cronie -RUN yum -y install make nano openssh-clients wget rsync cronie - -# Install python 3.9.9 -RUN yum -y install gcc openssl-devel bzip2-devel libffi-devel zlib-devel && \ - wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz && \ - tar xzf Python-3.9.9.tgz && \ - cd Python-3.9.9 && \ - ./configure --enable-optimizations && \ - make altinstall && cd .. && rm Python-3.9.9.tgz - # Install redis, psycopg2, paramiko, scp, tabulate Python packages -RUN pip3.9 install --no-cache-dir redis hiredis psycopg2-binary paramiko scp tabulate +RUN pip3.11 install --no-cache-dir redis hiredis psycopg2-binary paramiko scp tabulate diff --git a/base/vault.repo b/base/vault.repo deleted file mode 100644 index 5c1d6910bd6eaf195c6010757dff56cac06bfc79..0000000000000000000000000000000000000000 --- a/base/vault.repo +++ /dev/null @@ -1,15 +0,0 @@ -[Vault-base] -name=Vault - CentOS-$releasever Base -baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/ -gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever -[Vault-updates] -name=Vault - CentOS-$releasever Updates -baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/ -gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever -[Vault-extras] -name=Vault - CentOS-$releasever Extras -baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/ -gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever diff --git a/client/Dockerfile b/client/Dockerfile index a22ea7d67898ac64996a5eef4aa08ea47557da4a..6ff3c863e632b288c5561125615781d9b571cc73 100644 --- a/client/Dockerfile +++ b/client/Dockerfile @@ -4,8 +4,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -# Use python 3.9.9-slim as base image -FROM python:3.9.9-slim +# Use python 3.11.7-slim as base image +FROM python:3.11.7-slim # Install psql client to be able to connect manually to the file_catalog container # Install also redis-tools to be able to access the redis container via redis-cli @@ -34,7 +34,7 @@ COPY config/vos_cli.conf.sample /etc/vos_cli/ RUN chmod -R 755 /etc/vos_cli # Set the PAH environment variable -ENV PATH "$PATH:/usr/bin/vos_cli" +ENV PATH="$PATH:/usr/bin/vos_cli" # Run commands as 'client' user USER client @@ -50,4 +50,4 @@ RUN echo ". /usr/share/bash-completion/completions/vos_data" >> .bashrc && \ echo ". /usr/share/bash-completion/completions/vos_storage" >> .bashrc # Install python dependencies -RUN pip3.9 install --no-cache-dir redis hiredis tabulate +RUN pip3.11 install --no-cache-dir redis hiredis tabulate diff --git a/docker-compose.yml b/docker-compose.yml index 054e2146341a64997f95b6044e77d50505f80f62..a1363bd09c83012c500ad702b1adee8444790799 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,8 @@ version: '3.0' services: base: - image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base + #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base + build: ./base container_name: base redis: image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/cache @@ -20,7 +21,7 @@ services: ports: - "6379:6379" postgres: - image: git.ia2.inaf.it:5050/vospace/vospace-file-catalog + #image: git.ia2.inaf.it:5050/vospace/vospace-file-catalog #image: git.ia2.inaf.it:5050/vospace/vospace-staging/file-catalog build: ../vospace-file-catalog container_name: file_catalog @@ -31,16 +32,17 @@ services: ports: - "5432:5432" transfer_service: - image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/transfer_service + #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/transfer_service + build: ./transfer_service volumes: - ./conf/vos_ts.conf:/etc/vos_ts/vos_ts.conf - local:/home - hot_storage:/mnt/hot_storage/users - redis_data:/redis_data - "/home/${USER}/.ssh:/root/.ssh" - build: ./transfer_service container_name: transfer_service depends_on: + - base - postgres networks: - backend_net @@ -48,7 +50,7 @@ services: tty: true command: ["./wait-for-it.sh", "postgres:5432", "--timeout=30", "--", "bash", "start.sh"] client: - image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/client + #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/client volumes: - ./conf/vos_cli.conf:/etc/vos_cli/vos_cli.conf build: ./client diff --git a/server/Dockerfile b/server/Dockerfile index d0b67ae567a915c82a689b4341b6cb2fa3f2f9a7..08a760555b5b32bb15ac1e6c075f18567f2e28be 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -5,7 +5,8 @@ # # Use 'base' as base image -FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base +#FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base +FROM base # Add 'server' user and set home folder and shell RUN useradd -m -s /bin/bash server diff --git a/transfer_service/Dockerfile b/transfer_service/Dockerfile index 6dfad8560c08e69ba130a9740f4c48c860a409a6..e4d828ef6c66183900efd308a2017545c1a486a4 100644 --- a/transfer_service/Dockerfile +++ b/transfer_service/Dockerfile @@ -5,7 +5,8 @@ # # Use 'base' as base image -FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base +#FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base +FROM base # Create a new user called transfer_service, create the home directory and set the default shell RUN useradd -m -s /bin/bash transfer_service diff --git a/transfer_service/start.sh b/transfer_service/start.sh index bd224d117c7617e57efd00ab63839d844ada0e0c..be188c4e7d2540cb81f4e64f3ef48353b4dc196d 100644 --- a/transfer_service/start.sh +++ b/transfer_service/start.sh @@ -15,4 +15,4 @@ do chmod -R 755 /mnt/hot_storage/users/${user} done -crond && /usr/local/bin/python3.9 transfer_service.py 2>&1 >> /var/log/vos_ts/error.log +crond && /usr/bin/python3.11 transfer_service.py 2>&1 >> /var/log/vos_ts/error.log