Switch to nginx server #8
@ -1,16 +0,0 @@
|
||||
{
|
||||
auto_https off
|
||||
}
|
||||
|
||||
:8080 {
|
||||
root * /usr/share/caddy
|
||||
file_server
|
||||
encode gzip zstd
|
||||
handle_errors {
|
||||
@404 {
|
||||
expression {http.error.status_code} == 404
|
||||
}
|
||||
rewrite @404 /404.html
|
||||
file_server
|
||||
}
|
||||
}
|
@ -6,10 +6,9 @@ WORKDIR /src
|
||||
RUN npm install \
|
||||
&& npm run build
|
||||
|
||||
FROM caddy:2.4.6-alpine
|
||||
FROM nginx:1.21.5-alpine
|
||||
LABEL maintainer="marco.blessing@googlemail.com"
|
||||
COPY --from=builder /src/Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --from=builder src/public /usr/share/caddy/
|
||||
HEALTHCHECK --interval=15s --timeout=3s \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1
|
||||
#RUN ls -la /usr/share/caddy/
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1
|
||||
COPY --from=builder src/public /usr/share/nignx/html/
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
15
Dockerfile.Caddy
Normal file
15
Dockerfile.Caddy
Normal file
@ -0,0 +1,15 @@
|
||||
FROM node:lts-buster-slim as builder
|
||||
COPY . /src
|
||||
#RUN ls -la
|
||||
WORKDIR /src
|
||||
#RUN ls -a
|
||||
RUN npm install \
|
||||
&& npm run build
|
||||
|
||||
FROM caddy:2.4.6-alpine
|
||||
LABEL maintainer="marco.blessing@googlemail.com"
|
||||
COPY --from=builder /src/Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --from=builder src/public /usr/share/caddy/
|
||||
HEALTHCHECK --interval=15s --timeout=3s \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1
|
||||
#RUN ls -la /usr/share/caddy/
|
30
README.md
30
README.md
@ -1,6 +1,28 @@
|
||||
![logo](https://raw.githubusercontent.com/OCram85/Blog/master/assets/img/logo_square.png)
|
||||
<p align="center">
|
||||
<a href="https://getdoks.org/">
|
||||
<img src="https://raw.githubusercontent.com/OCram85/Blog/master/assets/img/logo_square.png" alt="OCram85.com Logo" width="300" height="300">
|
||||
<a>
|
||||
</p>
|
||||
|
||||
> A personal blog about PowerShell, Automation and more.
|
||||
<h1 align="center">
|
||||
OCram85.com
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
A personal blog about PowerShell, Automation and more.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/OCram85/Blog">
|
||||
<img src="https://img.shields.io/github/license/OCram85/Blog" alt="Project License">
|
||||
</a>
|
||||
<a href="https://cloud.drone.io/OCram85/Blog">
|
||||
<img src="https://cloud.drone.io/api/badges/OCram85/Blog/status.svg" alt="Drone.IO Build">
|
||||
</a>
|
||||
<a href="https://hub.docker.com/r/ocram85/blog/tags">
|
||||
<img src="https://img.shields.io/docker/image-size/ocram85/blog/latest" alt="Docker Image Tags">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Tags
|
||||
|
||||
@ -11,6 +33,6 @@
|
||||
|
||||
## Content
|
||||
|
||||
This image contains the hugo based sources for my personal blog. It's made with the [Congo theme](https://github.com/jpanther/congo). The static pages are served by the included caddy server with a custom config. The custom config is needed to redirect 404 errors to a custom page.
|
||||
This image contains the hugo based sources for my personal blog. It's made with the [Congo theme](https://github.com/jpanther/congo). The static pages are served by the included nginx server with a custom config. The custom config is needed to redirect 404 errors to a custom page.
|
||||
|
||||
You can simply run the container with `docker run -it --rm -p "8080:8080" ocram85/blog:latest`
|
||||
You can simply run the container with `docker run -it --rm -p "8080:80" ocram85/blog:latest`
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 784 KiB After Width: | Height: | Size: 86 KiB |
62
docker-compose.yml
Normal file
62
docker-compose.yml
Normal file
@ -0,0 +1,62 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
next:
|
||||
image: ocram85/blog:next
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- blog
|
||||
- traefik-public
|
||||
deploy:
|
||||
replicas: 1
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 15s
|
||||
order: start-first
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
#- "traefik.docker.lbswarm=true"
|
||||
- "traefik.docker.network=traefik-public"
|
||||
- "traefik.http.routers.next.rule=Host(`next.ocram85.com`)"
|
||||
- "traefik.http.routers.next.tls=true"
|
||||
- "traefik.http.services.next-srv.loadbalancer.server.port=80"
|
||||
# optional health checks
|
||||
- "traefik.http.services.next-srv.loadbalancer.healthCheck.path=/"
|
||||
- "traefik.http.services.next-srv.loadbalancer.healthCheck.interval=10s"
|
||||
- "traefik.http.services.next-srv.loadbalancer.healthCheck.timeout=3s"
|
||||
- "traefik.http.services.next-srv.loadbalancer.healthCheck.port=80"
|
||||
- "traefik.http.services.next-srv.loadbalancer.healthCheck.scheme=http"
|
||||
|
||||
blog:
|
||||
image: ocram85/blog:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- blog
|
||||
- traefik-public
|
||||
deploy:
|
||||
replicas: 2
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 15s
|
||||
order: start-first
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=traefik-public"
|
||||
#- "traefik.docker.lbswarm=true"
|
||||
- "traefik.http.routers.blog.rule=Host(`ocram85.com`)"
|
||||
- "traefik.http.routers.blog.tls=true"
|
||||
- "traefik.http.services.blog-srv.loadbalancer.server.port=80"
|
||||
# optional health checks
|
||||
- "traefik.http.services.blog-srv.loadbalancer.healthCheck.path=/"
|
||||
- "traefik.http.services.blog-srv.loadbalancer.healthCheck.interval=10s"
|
||||
- "traefik.http.services.blog-srv.loadbalancer.healthCheck.timeout=3s"
|
||||
- "traefik.http.services.blog-srv.loadbalancer.healthCheck.port=80"
|
||||
- "traefik.http.services.blog-srv.loadbalancer.healthCheck.scheme=http"
|
||||
|
||||
networks:
|
||||
traefik-public:
|
||||
external: true
|
||||
|
||||
blog:
|
||||
name: blog
|
||||
driver: overlay
|
17
nginx.conf
Normal file
17
nginx.conf
Normal file
@ -0,0 +1,17 @@
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
http {
|
||||
include mime.types;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
root /usr/share/nignx/html;
|
||||
index index.html;
|
||||
error_page 404 /404.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user