49 lines
2.2 KiB
Docker
49 lines
2.2 KiB
Docker
FROM fedora:36
|
|
|
|
WORKDIR /opt
|
|
|
|
COPY . /opt/mbs/
|
|
|
|
RUN rm /etc/yum.repos.d/{fedora-modular.repo,fedora-updates-modular.repo} -rf
|
|
|
|
RUN dnf install -y /opt/mbs/src/module-build-service-3.9.2-1.fc36.noarch.rpm \
|
|
&& dnf install fedmsg supervisor httpd python-psycopg2 python-memcached python-distro python3-libsemanage openssl mod_ssl rabbitmq-server mod_wsgi python3-mod_wsgi sqlite erlang SDL2 postgresql vim -y
|
|
|
|
## mbs-backend
|
|
RUN rm -f /etc/fedmsg.d/{module_build_service.py,mbs-logging.py} \
|
|
&& cp -a /opt/mbs/etc/module-build-service/* /etc/module-build-service/ \
|
|
&& chown root:fedmsg /etc/module-build-service/config.py /etc/module-build-service/koji.conf \
|
|
&& chmod 0640 /etc/module-build-service/config.py \
|
|
&& chmod 0644 /etc/module-build-service/koji.conf \
|
|
&& mkdir -pv /app/log/{fedmsg,httpd,mbs,mbs-poller,mbs-worker,rabbitmq} \
|
|
&& touch /app/log/mbs/module_build_service.log \
|
|
&& chmod 777 /app/log/mbs/module_build_service.log \
|
|
&& chown root:fedmsg /app -R \
|
|
&& mkdir -p /var/cache/fedmsg/ /usr/share/fedmsg \
|
|
&& chown fedmsg:fedmsg /var/cache/fedmsg/ /usr/share/fedmsg
|
|
|
|
## mbs httpd
|
|
RUN cp /opt/mbs/etc/httpd/conf.d/mbs.conf /etc/httpd/conf.d/mbs.conf \
|
|
&& openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt -subj "/ CN=localhost"
|
|
|
|
RUN cp -a /opt/mbs/etc/fedmsg.d/* /etc/fedmsg.d/ \
|
|
&& cp -a /opt/mbs/etc/pki/* /etc/pki/ \
|
|
&& cp -a /opt/mbs/etc/supervisord.d/* /etc/supervisord.d/ \
|
|
&& cp -a /opt/mbs/etc/rpkg/fedpkg.conf /etc/rpkg/fedpkg.conf \
|
|
&& cp -a /opt/mbs/ensure_vhost.sh /
|
|
|
|
## 修复auth问题
|
|
RUN cp -a /opt/mbs/pydist/module_build_service/web/auth.py /usr/lib/python3.10/site-packages/module_build_service/web/auth.py \
|
|
&& cp -a /opt/mbs/pydist/pyrpkg/__init__.py /usr/lib/python3.10/site-packages/pyrpkg/__init__.py
|
|
|
|
RUN rm -f /run/supervisor/supervisor.sock
|
|
### 修复本地证书问题
|
|
##RUN openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt -subj "/CN=localhost"
|
|
|
|
## supervisord
|
|
##RUN cp -a /opt/mbs/etc/supervisord.d/* /etc/supervisord.d/
|
|
|
|
EXPOSE 80 443
|
|
|
|
CMD ["/usr/bin/supervisord","-c","/etc/supervisord.conf","-n"]
|