diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5cce64e6565b848858b8c8c78540da1123f6aeb9..cafe6598a56e7b3840e2f53186bdc940179ff801 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,6 +15,8 @@ stages: variables: TAG: latest +# Job templates: + .build: stage: build variables: @@ -42,6 +44,8 @@ variables: - docker push "registry.shore.co.il/$IMAGE:$TAG" rules: *rules +# cgit image: + build-cgit: extends: .build variables: @@ -54,3 +58,18 @@ push-cgit: needs: - job: build-cgit artifacts: true + +# httpd image: + +build-httpd: + extends: .build + variables: + IMAGE: httpd + +push-httpd: + extends: .push + variables: + IMAGE: httpd + needs: + - job: build-httpd + artifacts: true diff --git a/httpd/.dockerignore b/httpd/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..72e8ffc0db8aad71a934dd11e5968bd5109e54b4 --- /dev/null +++ b/httpd/.dockerignore @@ -0,0 +1 @@ +* diff --git a/httpd/Dockerfile b/httpd/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..88d945c83c4b5f1f536659ea4f5ac5b0ef045399 --- /dev/null +++ b/httpd/Dockerfile @@ -0,0 +1,28 @@ +FROM registry.hub.docker.com/library/debian:buster-slim +# hadolint ignore=DL3008,DL3015 +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + apache2 \ + libcap2-bin \ + wget \ + && \ + setcap CAP_NET_BIND_SERVICE=+ep /usr/sbin/apache2 && \ + DEBIAN_FRONTEND=noninteractive apt-get purge --auto-remove -y libcap2-bin && \ + a2enmod status && \ + install -d -o www-data -g www-data -m 755 /run/apache2 && \ + install -d -o www-data -g www-data -m 755 /var/log/apache2 && \ + ln -sf /dev/stdout /var/log/apache2/access.log && \ + ln -sf /dev/stderr /var/log/apache2/error.log && \ + ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log && \ + rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* +ENV APACHE_RUN_DIR=/run/apache2 \ + APACHE_LOG_DIR=/var/log/apache2 \ + APACHE_RUN_USER=www-data \ + APACHE_RUN_GROUP=www-data \ + APACHE_PID_FILE=/run/apache2/apache2.pid +RUN apache2 -t +EXPOSE 80 +CMD [ "apache2", "-DFOREGROUND" ] +USER "www-data" +WORKDIR /var/www +HEALTHCHECK CMD wget --spider --quiet http://localhost/server-status --user-agent 'Healthcheck' || exit 1