init
This commit is contained in:
2
Dockerfile
Normal file
2
Dockerfile
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
FROM haproxy:2.7-bullseye
|
||||||
|
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
|
||||||
6
Makefile
Normal file
6
Makefile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
.PHONY: test-config build run
|
||||||
|
test-config: build
|
||||||
|
docker run -it --rm --name haproxy-syntax-check fixer-grid-haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
|
||||||
|
|
||||||
|
build:
|
||||||
|
docker build -t fixer-grid-haproxy .
|
||||||
10
README.org
Normal file
10
README.org
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#+TITLE: HAproxy Configuration
|
||||||
|
|
||||||
|
|
||||||
|
* Renewing certificates
|
||||||
|
|
||||||
|
1. Run =renew.sh=
|
||||||
|
2. Files are now in =/etc/letsencrypt/live/fixergrid.net=
|
||||||
|
3. Create a =combined.pem= by concatenating =fullchain.pem= and =privkey.pem=
|
||||||
|
4. Copy the file into the running container at =/certs/combined.pem=
|
||||||
|
5. Restart the container
|
||||||
30
docker-compose.yml
Normal file
30
docker-compose.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
proxy:
|
||||||
|
image: fixer-grid-haproxy
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
ports:
|
||||||
|
- "100.115.147.109:443:443"
|
||||||
|
- "145.40.65.245:443:443"
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: tls-certs
|
||||||
|
target: /certs
|
||||||
|
networks:
|
||||||
|
- localprox
|
||||||
|
|
||||||
|
static:
|
||||||
|
image: fixer-grid-static
|
||||||
|
build:
|
||||||
|
context: ./static-container
|
||||||
|
networks:
|
||||||
|
- localprox
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
tls-certs:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
localprox:
|
||||||
29
haproxy.cfg
Normal file
29
haproxy.cfg
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
global
|
||||||
|
daemon
|
||||||
|
maxconn 256
|
||||||
|
log stdout format raw daemon debug
|
||||||
|
|
||||||
|
defaults
|
||||||
|
mode http
|
||||||
|
timeout connect 5000ms
|
||||||
|
timeout client 50000ms
|
||||||
|
timeout server 50000ms
|
||||||
|
log global
|
||||||
|
|
||||||
|
frontend https-in
|
||||||
|
bind *:443 ssl crt /certs/combined.pem
|
||||||
|
acl host_gitea hdr_beg(host) -i git
|
||||||
|
acl host_plex hdr_beg(host) -i tv
|
||||||
|
use_backend gitea if host_gitea
|
||||||
|
use_backend plex if host_plex
|
||||||
|
default_backend static-content
|
||||||
|
|
||||||
|
|
||||||
|
backend static-content
|
||||||
|
server server1 static:80 maxconn 32
|
||||||
|
|
||||||
|
backend gitea
|
||||||
|
server gitea1 garage-nas:3000 maxconn 16
|
||||||
|
|
||||||
|
backend plex
|
||||||
|
server plex1 garage-nas:32400 maxconn 16
|
||||||
3
renew.sh
Executable file
3
renew.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'fixergrid.net,*.fixergrid.net'
|
||||||
4
static-container/Dockerfile
Normal file
4
static-container/Dockerfile
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM nginx
|
||||||
|
RUN mkdir -p /usr/share/html/
|
||||||
|
COPY *.html /usr/share/nginx/html/
|
||||||
|
COPY .well-known/acme-challenge /usr/share/nginx/html/.well-known/acme-challenge/
|
||||||
1
static-container/index.html
Normal file
1
static-container/index.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
hello, static content
|
||||||
Reference in New Issue
Block a user