First push
This commit is contained in:
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*/.git/*
|
||||||
49
.gitlab-ci.yml
Normal file
49
.gitlab-ci.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
image: docker:latest
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- Build Base
|
||||||
|
- Push Images
|
||||||
|
|
||||||
|
0-build-base:
|
||||||
|
stage: Build Base
|
||||||
|
artifacts:
|
||||||
|
expire_in: 1 week
|
||||||
|
paths:
|
||||||
|
- ./images/
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
before_script:
|
||||||
|
- mkdir ./images
|
||||||
|
script:
|
||||||
|
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
|
||||||
|
- docker save --output "./images/$CI_COMMIT_SHORT_SHA.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
|
|
||||||
|
1A-push-version:
|
||||||
|
stage: Push Images
|
||||||
|
dependencies:
|
||||||
|
- 0-build-base
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
when: manual
|
||||||
|
before_script:
|
||||||
|
- docker load --input "./images/$CI_COMMIT_SHORT_SHA.tar"
|
||||||
|
- docker load --input "./images/$CI_COMMIT_SHORT_SHA-git.tar"
|
||||||
|
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
|
||||||
|
script:
|
||||||
|
- docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$CI_JOB_ID"
|
||||||
|
- docker push "$CI_REGISTRY_IMAGE:$CI_JOB_ID"
|
||||||
|
|
||||||
|
1B-push-latest:
|
||||||
|
stage: Push Images
|
||||||
|
dependencies:
|
||||||
|
- 0-build-base
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
when: manual
|
||||||
|
before_script:
|
||||||
|
- docker load --input "./images/$CI_COMMIT_SHORT_SHA.tar"
|
||||||
|
- docker load --input "./images/$CI_COMMIT_SHORT_SHA-git.tar"
|
||||||
|
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
|
||||||
|
script:
|
||||||
|
- docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest"
|
||||||
|
- docker push "$CI_REGISTRY_IMAGE:latest"
|
||||||
24
Dockerfile
Normal file
24
Dockerfile
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
FROM nginx:1.16
|
||||||
|
USER root
|
||||||
|
WORKDIR /var/www
|
||||||
|
|
||||||
|
# MySQL 5.7 (Homefully not version 8...)
|
||||||
|
RUN apt-get update && apt-get install mysql-server -y
|
||||||
|
|
||||||
|
# Configure NGINX
|
||||||
|
ADD https://raw.githubusercontent.com/getgrav/grav/c381bc83040e00c9a8ebe91ac3bda5fe0c217197/webserver-configs/nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
|
RUN sed -i 's/root \/home\/USER\/www\/html/root \/var\/www/g' /etc/nginx/conf.d/default.conf \
|
||||||
|
&& sed -i 's/fastcgi_pass unix:\/var\/run\/php\/php7.2-fpm.sock;/fastcgi_pass unix:\/var\/run\/php-fpm.sock;/g' /etc/nginx/conf.d/default.conf \
|
||||||
|
&& sed -i 's/#listen 80;/listen 80;/g' /etc/nginx/conf.d/default.conf \
|
||||||
|
&& sed -i '23cuser = nginx' /etc/php7/php-fpm.d/www.conf \
|
||||||
|
&& sed -i '24cgroup = nginx' /etc/php7/php-fpm.d/www.conf \
|
||||||
|
&& sed -i '47clisten.owner = nginx' /etc/php7/php-fpm.d/www.conf \
|
||||||
|
&& sed -i '48clisten.group = nginx' /etc/php7/php-fpm.d/www.conf \
|
||||||
|
&& sed -i '49clisten.mode = 0660' /etc/php7/php-fpm.d/www.conf \
|
||||||
|
&& sed -i 's/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm.sock/g' /etc/php7/php-fpm.d/www.conf
|
||||||
|
|
||||||
|
COPY /entrypoint.sh /
|
||||||
|
|
||||||
|
# Expose Insecure Web, MySQL Server
|
||||||
|
EXPOSE 80 3306
|
||||||
|
CMD ["/bin/sh", "/entrypoint.sh"]
|
||||||
13
entrypoint.sh
Normal file
13
entrypoint.sh
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "[ INFO ] Recursively setting default nginx:nginx permissions on web directory"
|
||||||
|
chown -R nginx:nginx /var/www
|
||||||
|
|
||||||
|
echo "[ INFO ] Starting PHP-FPM"
|
||||||
|
php-fpm7 -D # Background
|
||||||
|
|
||||||
|
echo "[ INFO ] Starting cron"
|
||||||
|
crond # Background
|
||||||
|
|
||||||
|
echo "[ INFO ] Starting nginx"
|
||||||
|
nginx -g "daemon off;" # Foreground
|
||||||
Reference in New Issue
Block a user