From c5ea8886c10ee11a7ca1a9083a9fb6b49a2595f7 Mon Sep 17 00:00:00 2001 From: Silvan Date: Wed, 17 Apr 2024 22:16:59 +0200 Subject: [PATCH] first commit --- Dockerfile | 9 +++++ README.md | 46 ++++++++++++++++++++++ rootfiles/etc/httpd/httpd.d/webbuild | 9 +++++ rootfiles/etc/sudoers.d/autodist | 1 + rootfiles/root/builddeps | 40 +++++++++++++++++++ rootfiles/var/webbuild/users/autodist.conf | 10 +++++ 6 files changed, 115 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 rootfiles/etc/httpd/httpd.d/webbuild create mode 100644 rootfiles/etc/sudoers.d/autodist create mode 100644 rootfiles/root/builddeps create mode 100644 rootfiles/var/webbuild/users/autodist.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8c41822 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +FROM openmamba/openmamba:latest +RUN dnf update --nogpgcheck +RUN dnf install --nogpgcheck -y dnf-plugins-core iputils tar sudo openmamba-unstable-repos autodist apache +RUN dnf config-manager --set-enabled unstable-makedist +COPY rootfiles/ / +RUN dnf install --nogpgcheck -y $(cat /root/builddeps) +EXPOSE 80 +CMD [ "apachectl", "-D", "FOREGROUND" ] diff --git a/README.md b/README.md new file mode 100644 index 0000000..a2829f4 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# docker image for openmamba buildvm +This project provides a `Dockerfile` and related files which can be easily used to create a Docker image and +container set up with `autodist` and `webbuild` with the purpose to maintain and build openmamba `RPM` packages. + +The project can be used on any O.S. with `docker` installed and supporting one of the following platforms: +* `linux/amd64` (`x86_64`) +* `linux/arm64` (`aarch64`) +* `linux/386` (`i586`) + + +## Installation +Create image with: +`docker build -t buildvm .` + +Create and start a new container with: +`docker run --name buildvm -d -p 80:80 buildvm` + +A different name and local port mapping may be used as needed. + +## Usage +With a browser access the `webbuild` interface at: + +`http://localhost` + +To access from another host you may replace `localhost` with the container host (remember to check that exposed port is open in firewall). + +Login with the following credentials: + +* Username: `autodist` +* Password: `openmamba` + +Remote host and different port mapping may be used as needed. + +Spawn a shell into the running container with: +`docker exec -it --user root buildvm /bin/bash` + +Or as `autodist` user: +`docker exec -it --user autodist buildvm /bin/bash` + + +## Management +Stop with: +`docker stop buildvm` + +Restart with: +`docker start buildvm` diff --git a/rootfiles/etc/httpd/httpd.d/webbuild b/rootfiles/etc/httpd/httpd.d/webbuild new file mode 100644 index 0000000..4296adb --- /dev/null +++ b/rootfiles/etc/httpd/httpd.d/webbuild @@ -0,0 +1,9 @@ + + Options Indexes FollowSymLinks Includes ExecCGI + AllowOverride All + Require all granted + DirectoryIndex webbuild.html + SetOutputFilter DEFLATE + + +Timeout 1800 diff --git a/rootfiles/etc/sudoers.d/autodist b/rootfiles/etc/sudoers.d/autodist new file mode 100644 index 0000000..efec520 --- /dev/null +++ b/rootfiles/etc/sudoers.d/autodist @@ -0,0 +1 @@ +%sysadmin ALL = NOPASSWD: ALL diff --git a/rootfiles/root/builddeps b/rootfiles/root/builddeps new file mode 100644 index 0000000..df7ce84 --- /dev/null +++ b/rootfiles/root/builddeps @@ -0,0 +1,40 @@ +autodist +autodist-webbuild +openmamba-unstable-repos +diffutils +git +glibc-devel +cmake +ninja +gcc +gcc-c++ +libstdc++6-devel +qt6-qtbase-devel +qt6-qtwayland-devel +qt6-qtwebengine-devel +qt6-qttools +libmesa-devel +libwayland-egl-devel +libboost-devel +gobject-introspection-devel +vulkan-headers +libalsa-devel +libclang-devel +clang +libpulseaudio-devel +libxkbcommon-devel +libfmt-devel +meson +libpython3-devel +rustc +patch +qt5-devel +libgtk3-devel +nodejs-devel +lld +libcurl-devel +libatomic-devel +libsoup2-devel +python-gi-docgen-py3 +libgtk-devel +libruby-devel diff --git a/rootfiles/var/webbuild/users/autodist.conf b/rootfiles/var/webbuild/users/autodist.conf new file mode 100644 index 0000000..cb6d521 --- /dev/null +++ b/rootfiles/var/webbuild/users/autodist.conf @@ -0,0 +1,10 @@ +USER_ENABLED=1 +USER_ADMIN=1 +USER_CANINSTALL=1 +USER_CANMAINTAIN=1 +USER_ALLENVIRONMENTS=1 +USER_ALLREPOSITORIES=1 +USER_CANSENDMESSAGES=1 +USER_SECRET='$1$P$7oMAI2i8QrqpT.xxc20Cd/' +USER_FULLNAME="Automatic Build System" +USER_EMAIL=autodist@openmamba.org