1
- FROM ubuntu:xenial-20181113
1
+ FROM quay.io/bedrock/ ubuntu:22.04
2
2
3
- MAINTAINER "René Moser" <[email protected] >
3
+ ENV DEBIAN_FRONTEND noninteractive
4
4
5
- ARG src_url=https://github.com/apache/cloudstack/archive/4.13.1 .0.tar.gz
5
+ ARG src_url=https://github.com/apache/cloudstack/archive/refs/tags/4.17.2 .0.tar.gz
6
6
7
7
RUN echo 'mysql-server mysql-server/root_password password root' | debconf-set-selections; \
8
8
echo 'mysql-server mysql-server/root_password_again password root' | debconf-set-selections;
9
9
10
- RUN apt-get -y update && apt-get dist-upgrade -y && apt-get install -y \
10
+ RUN apt-get -y update && apt-get install -y --no- install-recommends \
11
11
genisoimage \
12
12
libffi-dev \
13
13
libssl-dev \
14
14
sudo \
15
15
ipmitool \
16
16
maven \
17
17
netcat \
18
- openjdk-8-jdk \
19
- python-dev \
20
- python-mysql.connector \
21
- python-pip \
22
- python-setuptools \
23
- python-paramiko \
18
+ openjdk-11-jdk \
19
+ python3 \
20
+ python3-dev \
21
+ python3-mysql.connector \
22
+ python3-pip \
23
+ python3-setuptools \
24
+ python3-paramiko \
24
25
supervisor \
25
26
wget \
26
27
nginx \
27
28
jq \
28
29
mysql-server \
29
30
openssh-client \
30
- && apt-get clean all \
31
- && rm -rf /var/lib/apt/lists/*;
31
+ build-essential \
32
+ npm \
33
+ nodejs \
34
+ && apt-get clean all && rm -rf /var/lib/apt/lists/*;
35
+
32
36
33
37
# TODO: check if and why this is needed
34
38
RUN mkdir -p /root/.ssh \
35
39
&& chmod 0700 /root/.ssh \
36
40
&& ssh-keygen -t rsa -N "" -f id_rsa.cloud
37
41
38
42
RUN mkdir -p /var/run/mysqld; \
39
- chown mysql /var/run/mysqld; \
40
- echo '''sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"''' >> /etc/mysql/mysql.conf.d/mysqld.cnf
43
+ chown mysql /var/run/mysqld;
41
44
42
45
RUN (/usr/bin/mysqld_safe &); sleep 5; mysqladmin -u root -proot password ''
43
46
@@ -47,24 +50,30 @@ RUN wget $src_url -O /opt/cloudstack.tar.gz; \
47
50
48
51
WORKDIR /opt/cloudstack
49
52
53
+ RUN ln -s /usr/bin/python3 /usr/local/bin/python
50
54
RUN mvn -Pdeveloper -Dsimulator -DskipTests clean install
51
55
RUN mvn -Pdeveloper -Dsimulator dependency:go-offline
52
56
RUN mvn -pl client jetty:run -Dsimulator -Djetty.skip -Dorg.eclipse.jetty.annotations.maxWait=120
53
57
58
+ COPY zones.cfg /opt/zones.cfg
59
+
54
60
RUN (/usr/bin/mysqld_safe &); \
55
61
sleep 5; \
56
62
mvn -Pdeveloper -pl developer -Ddeploydb; \
57
63
mvn -Pdeveloper -pl developer -Ddeploydb-simulator; \
64
+ mvn -Pdeveloper,marvin -pl :cloud-marvin; \
58
65
MARVIN_FILE=$(find /opt/cloudstack/tools/marvin/dist/ -name "Marvin*.tar.gz" ); \
66
+ pip install wheel; \
59
67
pip install $MARVIN_FILE;
60
68
61
- COPY zones.cfg /opt/zones.cfg
62
69
COPY nginx_default.conf /etc/nginx/sites-available/default
63
- RUN pip install cs==2.5
70
+ RUN pip install cs
64
71
COPY run.sh /opt/run.sh
65
72
COPY deploy.sh /opt/deploy.sh
66
73
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
67
74
75
+ RUN cd ui && npm install && npm run build
76
+
68
77
RUN /opt/deploy.sh
69
78
70
79
EXPOSE 8888 8080 8096
0 commit comments