Skip to content

Commit

Permalink
Added Docker
Browse files Browse the repository at this point in the history
Use GatsbyImageSharpFluid now
Things
  • Loading branch information
Marvin Heilemann committed Sep 26, 2019
1 parent 54a67a2 commit 76270f3
Show file tree
Hide file tree
Showing 110 changed files with 32,485 additions and 309 deletions.
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/
.cache
*.json
public
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"cSpell.words": [
"dayjs"
"dayjs",
"taskz"
]
}
27 changes: 27 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
up:
docker-compose up -d
printf "\n\e[1mServer is running at: \e[4mhttps://marvin.lcl/\e[0m\n"

rebuild:
docker-compose build --no-cache

build:
docker-compose build

destroy:
docker-compose down

stop:
docker-compose stop

top:
docker-compose top nginx

intimg:
docker run -it --entrypoint bash nginx

intcon:
docker exec -i -t marvin-nginx bash

newcert:
webssl --removeOld --addToKeychain
15 changes: 15 additions & 0 deletions NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Things to take care of

- [Brotli](#brotli)

## Brotli

It is needed to build brotli from source because there is no official NGINX
package to download. Have a look at our multi stage build, tag **builder**.

- https://nixcp.com/brotli-compression-nginx/
- https://github.com/nginxinc/docker-nginx/issues/332
- https://hg.nginx.org/pkg-oss/file/tip/build_module.sh

Check Brotli compression with
`curl -ILk https://marvin.lcl/ -H "Accept-Encoding: br"`
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# Marvin Heilemann

- [Start](#start)

## Start

Have a look at `Makefile` for testing the live environment or at `package.json`
for development.
2 changes: 2 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
- Sync: Abril Fatface
- Sync: IBM Plex Mono
- Async: Inter
- [ ] add custom slug to all pages
- [ ] add md table of contents
- [ ] add NOW deployment
- [ ] add bundle analyzer
- [ ] analyze via bundlephobia
- [ ] add github bots to auto update dependecies
- [ ] add lighthouse from M8FINDER project
- [ ] add tests?!
Binary file added content/writings/__demo__/image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions content/writings/__demo__/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Das ist, eine $" tolle Demo
# description: Ein kleines süßes Gedicht
created: 09-23-2019
modified: 07-12-2019

header:
image: image.jpg
author: Daniil Vnoutchkov
link: https://unsplash.com/@daniilvnoutchkov?utm_medium=referral&utm_campaign=photographer-credit&utm_content=creditBadge
source: unsplash

tags: [german]
keywords: [dreams]
---

## Some heading

Ich Träume, und entdecke verborgene Liebe und Schönheit. Streife durch Wälder,
stecke meine Füße in den warmen Sand am glasklaren Meer und staune über die
vielen Sterne die unseren Nachthimmel bedecken. Viele Nächte träume ich von dem
und Worten die ich wieder gedenke zu sagen, wenn der hellste Stern auftaucht.
Worte die so viel bedeuten, dass sie nur der Traum spricht. Worte die so viel
Verantwortung tragen und Worte welche genauso beschützen.

## This works

Am Morgen schaue ich in das Klare dessen diese Worte bestimmt sind. Nur die
Schönheit der Natur könnte es mit ihr aufnehmen. Schönheit und Einzigartigkeit,
welche sich nicht ausdrücken lässt. Zärtlichkeit die sich nur durch die des
Wassers, dass sich seinen Weg durch Steine und allen anderen Sorgen nimmt,
beschreiben lässt.

Wenn ich durch das sanfte Gold streife und am warmen ihrer festhalte, in ihre
Paare der Fesselung schaue und begreife wie mir geschieht. Ich möchte sie
aussprechen, die Worte welche eine Zukunft bilden. Worte welche nach dem sie
gesprochen wurden, nicht zurückgenommen werden können. Es beginnt ein Schmerz
der, Schmerz der keine Sekunden, sondern Minuten anhält. Schmerz, welcher
Bedeutung hat.

Zeigt der Schmerz; Leidenschaft oder das Gefühl geborgen und entflohen zu sein.
Die Gründe dieses schönen Gefühls, sind kein Schmerz, der nicht gerne ertragen
wird, sondern Schmerz welcher schützt. Schützt vor Leidenschaft, welche Falsch
gesprochen wird. Schützt vor Geborgenheit und dem Willen allem schlechten zu
entfliehen. Sobald ich meine Augen wieder schließe, der Tag sein Ende und alle
Wahrheit sein Gedanken nimmt, fällt die Nacht hinein. Die der man verfällt und
die welche einem tiefe Wünsche und Gefühle wahr werden lässt. Nacht die einem
alle Angst und den Schmerz nimmt Worte zu sagen. In der kein Mut benötigt wird
und kein Herz einen aufhält eventuell das falsche zu tun. Manchmal ist der
Stern, der so Hell erscheint auch der welcher am nächsten unerreichbar ist.
97 changes: 0 additions & 97 deletions data.txt

This file was deleted.

29 changes: 29 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
version: "3.7"

#
# [ services ]
#
services:
nginx:
image: marvin:nginx
build:
context: ./docker/nginx
args:
- version=1.17.4
container_name: marvin-nginx
ports:
- "80:80"
- "443:443"
volumes:
- type: bind
consistency: cached
source: ./public
target: /var/www
volume:
nocopy: true
# - type: bind
# source: ./docker/nginx/conf.d/
# target: /etc/nginx/conf.d/
# - type: bind
# source: ./docker/nginx/certs/
# target: /etc/nginx/ssl/
105 changes: 105 additions & 0 deletions docker/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
ARG timezone=Europe/Berlin
ARG version

# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Install brotli from source
# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄

FROM nginx:${version} AS builder

ARG version

ENV build_deps "build-essential wget git apt-transport-https ca-certificates"

RUN printf "\n\e[96m>\e[0m\033[1m Install packages \e[0m\n\n" \
&& apt-get update \
&& apt-get install -y --no-install-recommends $build_deps \
&& echo "---"

RUN printf "\n\e[96m>\e[0m\033[1m Configure system \e[0m\n\n" \
&& mkdir /root/temp && cd /root/temp \
&& echo "---"

RUN printf "\n\e[96m>\e[0m\033[1m Download build module \e[0m\n\n" \
&& cd /root/temp \
&& wget https://hg.nginx.org/pkg-oss/raw-file/tip/build_module.sh \
# remove sudo from file because we are sudo
&& sed -i -e '152,158d' -e 's/sudo //' ./build_module.sh \
&& echo "---"

RUN printf "\n\e[96m>\e[0m\033[1m Download brotli \e[0m\n\n" \
&& cd /root/temp \
&& git clone https://github.com/google/ngx_brotli.git \
&& cd ngx_brotli \
&& git submodule update --init --recursive \
&& echo "---"

RUN printf "\n\e[96m>\e[0m\033[1m Build brotli \e[0m\n\n" \
&& cd /root/temp \
&& sh ./build_module.sh -y -f -v ${version} ./ngx_brotli \
&& pkg=$(find /root/debuild/nginx-${version}/debian/debuild-module-brotli -type f -name "nginx-module-brotli_*.deb" -print) \
&& dpkg -i ${pkg} \
&& echo "---"


# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Start NGINX
# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄

FROM nginx:${version}

ARG timezone
ARG version

COPY --from=builder /usr/lib/nginx/modules/* /usr/lib/nginx/modules/

COPY share/entrypoint.sh /usr/share/
COPY share/nginx-*.sh /usr/share/

COPY conf.d/ /etc/nginx/conf.d/
COPY components/ /etc/nginx/components/
COPY nginx.conf /etc/nginx/nginx.conf
COPY certs/* /etc/nginx/ssl/

# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Install packages

ENV build_deps ""

RUN printf "\n\e[96m>\e[0m\033[1m Install packages \e[0m\n\n" \
&& apt-get update \
&& apt-get install -y --no-install-recommends $build_deps \
&& echo "---"

# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Configure System

RUN printf "\n\e[96m>\e[0m\033[1m Configure System \e[0m\n\n" \
&& ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime \
&& echo $TIMEZONE > /etc/timezone \
&& chmod +x /usr/share/entrypoint.sh \
&& chmod +x /usr/share/nginx-*.sh \
&& echo "---"

# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Configure NGINX

RUN printf "\n\e[96m>\e[0m\033[1m Configure NGINX \e[0m\n\n" \
&& touch /var/run/nginx.pid \
&& chown -R 991:991 /var/run/nginx.pid \
&& echo "---"

# ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
# Cleaning

RUN printf "\n\e[96m>\e[0m\033[1m Cleaning \e[0m\n\n" \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get purge -y $build_deps \
&& apt-get autoremove -y \
&& apt-get clean \
&& echo "---"


ENTRYPOINT ["/usr/share/entrypoint.sh"]

CMD ["nginx", "-g", "daemon off;"]
Loading

0 comments on commit 76270f3

Please sign in to comment.