Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.49b (beta) #54

Merged
merged 18 commits into from
Dec 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: docker-compose


# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
pull_request:
paths:
- '.github/workflows/docker-compose.yml'
- 'Dockerfiles/**'
- 'examples/**/docker-compose.yml'
- 'examples/**/integration-test.sh'
- 'examples/integration-test.sh'


jobs:
docker-compose:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: 'docker-compose: main-vhost Static Files'
run: |
cd ./examples/default-vhost__static-files/
./integration-test.sh

- name: 'docker-compose: main-vhost PHP-FPM'
run: |
cd ./examples/default-vhost__php-fpm/
./integration-test.sh

- name: 'docker-compose: main-vhost PHP-FPM (SSL)'
run: |
cd ./examples/default-vhost__php-fpm__ssl/
./integration-test.sh

- name: 'docker-compose: main-vhost Reverse Proxy (NodeJS)'
run: |
cd ./examples/default-vhost__reverse-proxy__node/
./integration-test.sh

- name: 'docker-compose: mass-vhost PHP-FPM (SSL)'
run: |
cd ./examples/mass-vhost__php-fpm__ssl/
./integration-test.sh

- name: 'docker-compose: mass-vhost Reverse Proxy (SSL)'
run: |
cd ./examples/mass-vhost__reverse-proxy__ssl/
./integration-test.sh
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
Makefile.docker
Makefile.lint
devilbox-ca.crt
devilbox-ca.key
devilbox-ca.srl
47 changes: 31 additions & 16 deletions Dockerfiles/Dockerfile.alpine
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# vi: ft=dockerfile
FROM httpd:2.4-alpine
MAINTAINER "cytopia" <cytopia@everythingcli.org>

Expand All @@ -11,9 +12,9 @@ LABEL \
###
### Build arguments
###
ARG VHOST_GEN_GIT_REF=1.0.3
ARG WATCHERD_GIT_REF=v1.0.2
ARG CERT_GEN_GIT_REF=0.7
ARG VHOST_GEN_GIT_REF=1.0.8
ARG WATCHERD_GIT_REF=v1.0.7
ARG CERT_GEN_GIT_REF=0.10

ENV BUILD_DEPS \
make \
Expand All @@ -29,16 +30,7 @@ ENV RUN_DEPS \
tzdata


###
### Runtime arguments
###
ENV MY_USER=www-data
ENV MY_GROUP=www-data
ENV HTTPD_START="httpd-foreground"
ENV HTTPD_RELOAD="/usr/local/apache2/bin/httpd -k stop"


###
##
### Install required packages
###
RUN set -eux \
Expand All @@ -61,7 +53,7 @@ RUN set -eux \
&& chmod +x /usr/bin/cert-gen \
\
# Install watcherd
&& wget --no-check-certificate -O /usr/bin/watcherd https://raw.githubusercontent.com/devilbox/watcherd/${WATCHERD_GIT_REF}/watcherd \
&& wget --no-check-certificate -O /usr/bin/watcherd https://raw.githubusercontent.com/devilbox/watcherd/${WATCHERD_GIT_REF}/bin/watcherd \
&& chmod +x /usr/bin/watcherd \
\
# Clean-up
Expand All @@ -81,6 +73,9 @@ RUN set -eux \
echo "LoadModule proxy_module modules/mod_proxy.so"; \
echo "LoadModule proxy_http_module modules/mod_proxy_http.so"; \
echo "LoadModule proxy_http2_module modules/mod_proxy_http2.so"; \
echo "LoadModule proxy_html_module modules/mod_proxy_html.so"; \
# [proxy_html] I18n support in mod_proxy_html requires mod_xml2enc.
echo "LoadModule xml2enc_module modules/mod_xml2enc.so"; \
echo "LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so"; \
echo "LoadModule rewrite_module modules/mod_rewrite.so"; \
\
Expand Down Expand Up @@ -119,6 +114,17 @@ RUN set -eux \
) >> /usr/local/apache2/conf/httpd.conf


###
### Runtime arguments
###
ENV MY_USER=www-data
ENV MY_GROUP=www-data
ENV HTTPD_START="httpd-foreground"
ENV HTTPD_RELOAD="/usr/local/apache2/bin/httpd -k stop"
ENV HTTPD_VERSION="httpd -V 2>&1 | head -1 | awk '{print \$3}'"
ENV VHOSTGEN_HTTPD_SERVER="apache24"


###
### Create directories
###
Expand All @@ -127,6 +133,7 @@ RUN set -eux \
&& mkdir -p /etc/httpd/conf.d \
&& mkdir -p /etc/httpd/vhost.d \
&& mkdir -p /var/www/default/htdocs \
&& mkdir -p /var/log/httpd \
&& mkdir -p /shared/httpd \
&& chmod 0775 /shared/httpd \
&& chown ${MY_USER}:${MY_GROUP} /shared/httpd
Expand All @@ -139,12 +146,20 @@ RUN set -eux \
&& ln -sf /usr/bin/python3 /usr/bin/python


###
### Set timezone
###
RUN set -eux \
&& if [ -f /etc/localtime ]; then rm /etc/localtime; fi \
&& ln -s /usr/share/zoneinfo/UTC /etc/localtime


###
### Copy files
###
COPY ./data/vhost-gen/main.yml /etc/vhost-gen/main.yml
COPY ./data/vhost-gen/mass.yml /etc/vhost-gen/mass.yml
COPY ./data/vhost-gen/templates-main /etc/vhost-gen/templates-main
COPY ./data/create-vhost.sh /usr/local/bin/create-vhost.sh

COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh

Expand Down
45 changes: 30 additions & 15 deletions Dockerfiles/Dockerfile.debian
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# vi: ft=dockerfile
FROM httpd:2.4
MAINTAINER "cytopia" <cytopia@everythingcli.org>

Expand All @@ -11,9 +12,9 @@ LABEL \
###
### Build arguments
###
ARG VHOST_GEN_GIT_REF=1.0.3
ARG WATCHERD_GIT_REF=v1.0.2
ARG CERT_GEN_GIT_REF=0.7
ARG VHOST_GEN_GIT_REF=1.0.8
ARG WATCHERD_GIT_REF=v1.0.7
ARG CERT_GEN_GIT_REF=0.10

ENV BUILD_DEPS \
make \
Expand All @@ -25,15 +26,6 @@ ENV RUN_DEPS \
supervisor


###
### Runtime arguments
###
ENV MY_USER=www-data
ENV MY_GROUP=www-data
ENV HTTPD_START="httpd-foreground"
ENV HTTPD_RELOAD="/usr/local/apache2/bin/httpd -k stop"


###
### Install required packages
###
Expand All @@ -58,7 +50,7 @@ RUN set -eux \
&& chmod +x /usr/bin/cert-gen \
\
# Install watcherd
&& wget --no-check-certificate -O /usr/bin/watcherd https://raw.githubusercontent.com/devilbox/watcherd/${WATCHERD_GIT_REF}/watcherd \
&& wget --no-check-certificate -O /usr/bin/watcherd https://raw.githubusercontent.com/devilbox/watcherd/${WATCHERD_GIT_REF}/bin/watcherd \
&& chmod +x /usr/bin/watcherd \
\
# Clean-up
Expand All @@ -79,6 +71,9 @@ RUN set -eux \
echo "LoadModule proxy_module modules/mod_proxy.so"; \
echo "LoadModule proxy_http_module modules/mod_proxy_http.so"; \
echo "LoadModule proxy_http2_module modules/mod_proxy_http2.so"; \
echo "LoadModule proxy_html_module modules/mod_proxy_html.so"; \
# [proxy_html] I18n support in mod_proxy_html requires mod_xml2enc.
echo "LoadModule xml2enc_module modules/mod_xml2enc.so"; \
echo "LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so"; \
echo "LoadModule rewrite_module modules/mod_rewrite.so"; \
\
Expand Down Expand Up @@ -117,6 +112,17 @@ RUN set -eux \
) >> /usr/local/apache2/conf/httpd.conf


###
### Runtime arguments
###
ENV MY_USER=www-data
ENV MY_GROUP=www-data
ENV HTTPD_START="httpd-foreground"
ENV HTTPD_RELOAD="/usr/local/apache2/bin/httpd -k stop"
ENV HTTPD_VERSION="httpd -V 2>&1 | head -1 | awk '{print \$3}'"
ENV VHOSTGEN_HTTPD_SERVER="apache24"


###
### Create directories
###
Expand All @@ -125,6 +131,7 @@ RUN set -eux \
&& mkdir -p /etc/httpd/conf.d \
&& mkdir -p /etc/httpd/vhost.d \
&& mkdir -p /var/www/default/htdocs \
&& mkdir -p /var/log/httpd \
&& mkdir -p /shared/httpd \
&& chmod 0775 /shared/httpd \
&& chown ${MY_USER}:${MY_GROUP} /shared/httpd
Expand All @@ -137,12 +144,20 @@ RUN set -eux \
&& ln -sf /usr/bin/python3 /usr/bin/python


###
### Set timezone
###
RUN set -eux \
&& if [ -f /etc/localtime ]; then rm /etc/localtime; fi \
&& ln -s /usr/share/zoneinfo/UTC /etc/localtime


###
### Copy files
###
COPY ./data/vhost-gen/main.yml /etc/vhost-gen/main.yml
COPY ./data/vhost-gen/mass.yml /etc/vhost-gen/mass.yml
COPY ./data/vhost-gen/templates-main /etc/vhost-gen/templates-main
COPY ./data/create-vhost.sh /usr/local/bin/create-vhost.sh

COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh

Expand Down
2 changes: 1 addition & 1 deletion Dockerfiles/Dockerfile.latest
Loading