1
0
mirror of https://github.com/akpall/akpella.git synced 2026-02-21 00:26:59 +00:00

Compare commits

..

5 Commits

9 changed files with 115 additions and 97 deletions

View File

@@ -1,8 +1,29 @@
config.json: config.yaml
FILES := $(wildcard files/*)
default:
$(MAKE) .generate-files-list
$(MAKE) config.json
.PHONY: default
reset:
$(MAKE) default
$(MAKE) .reset
.PHONY: reset
.generate-files-list: $(FILES)
if ! echo $(FILES) | diff -q .files-list - >/dev/null 2>&1; then \
echo $(FILES) > .files-list; \
fi
.PHONY: .generate-files-list
config.json: config.yaml .files-list $(FILES)
docker run --rm -i \
--volume ${PWD}:/pwd \
--workdir /pwd \
quay.io/coreos/butane:latest \
--strict \
--pretty \
--files-dir files \
< config.yaml > config.json
.reset: config.json
@@ -20,9 +41,6 @@ config.json: config.yaml
ssh -o ControlPath=/tmp/ssh_mux_%h_%p_%r -O exit akpella;
touch .reset
reset: .reset
.PHONY: reset
update:
VER=$$(curl -fsSL https://stable.release.flatcar-linux.net/amd64-usr/current/version.txt | grep FLATCAR_VERSION= | cut -d = -f 2) && \
echo $${VER} && \

View File

@@ -1,6 +1,6 @@
---
variant: flatcar
version: 1.0.0
version: 1.1.0
passwd:
users:
@@ -26,42 +26,15 @@ storage:
# network
- path: /etc/systemd/network/00-eth0.network
contents:
inline: |
[Match]
Name=eth0
[Network]
DNS=1.1.1.1
Address=193.40.103.107/24
Gateway=193.40.103.1
local: etc/systemd/network/00-eth0.network
- path: /etc/hosts
overwrite: true
contents:
inline: |
127.0.0.1 localhost akpella.fst.ee
::1 localhost akpella.fst.ee
local: etc/hosts
- path: /opt/caddy/etc/caddy/Caddyfile
overwrite: true
contents:
inline: |
{
#acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
email akpall+akpella@fst.ee
}
fst.ee {
root * /var/www/html
file_server
}
fst.ee:8448 {
reverse_proxy /_matrix/* matrixdotorg-synapse:8008
}
matrix.fst.ee {
reverse_proxy /_matrix/* matrixdotorg-synapse:8008
reverse_proxy /_synapse/client/* matrixdotorg-synapse:8008
}
local: opt/caddy/etc/caddy/Caddyfile
- path: /opt/caddy/var/www/html/index.html
overwrite: true
contents:
@@ -72,69 +45,10 @@ systemd:
units:
- name: docker-network-setup.service
enabled: true
contents: |
[Unit]
Description=Create docker network: caddy-network
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/docker network create caddy-network
[Install]
WantedBy=multi-user.target
contents_local: docker-network-setup.service
- name: docker-matrixdotorg-synapse.service
enabled: true
contents: |
[Unit]
Description=Synapse: Matrix homeserver written in Python/Twisted + Rust
After=docker.service \
docker-network-setup
Requires=docker.service \
docker-network-setup
[Service]
ExecStartPre=/usr/bin/docker run \
--name=matrixdotorg-synapse \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/matrixdotorg-synapse/data,dst=/data \
-e SYNAPSE_SERVER_NAME=matrix.fst.ee \
-e SYNAPSE_REPORT_STATS=yes \
matrixdotorg/synapse:latest generate
ExecStart=docker run \
--name=matrixdotorg-synapse \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/matrixdotorg-synapse/data,dst=/data \
matrixdotorg/synapse:latest
[Install]
WantedBy=multi-user.target
contents_local: docker-matrixdotorg-synapse.service
- name: docker-caddy.service
enabled: true
contents: |
[Unit]
Description=Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.
After=docker.service \
docker-network-setup
Requires=docker.service \
docker-network-setup
[Service]
ExecStart=docker run \
--name=caddy \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/caddy/etc/caddy,dst=/etc/caddy \
--mount type=bind,src=/opt/caddy/var/www/html,dst=/var/www/html \
--mount type=bind,src=/opt/caddy/data,dst=/data \
-p 80:80 \
-p 443:443 \
-p 8448:8448 \
caddy:latest
[Install]
WantedBy=multi-user.target
contents_local: docker-caddy.service

0
files/.gitkeep Normal file
View File

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.
After=docker.service \
docker-network-setup
Requires=docker.service \
docker-network-setup
[Service]
ExecStart=docker run \
--name=caddy \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/caddy/etc/caddy,dst=/etc/caddy \
--mount type=bind,src=/opt/caddy/var/www/html,dst=/var/www/html \
--mount type=bind,src=/opt/caddy/data,dst=/data \
-p 80:80 \
-p 443:443 \
-p 8448:8448 \
caddy:latest
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,25 @@
[Unit]
Description=Synapse: Matrix homeserver written in Python/Twisted + Rust
After=docker.service \
docker-network-setup
Requires=docker.service \
docker-network-setup
[Service]
ExecStartPre=/usr/bin/docker run \
--name=matrixdotorg-synapse \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/matrixdotorg-synapse/data,dst=/data \
-e SYNAPSE_SERVER_NAME=matrix.fst.ee \
-e SYNAPSE_REPORT_STATS=yes \
matrixdotorg/synapse:latest generate
ExecStart=docker run \
--name=matrixdotorg-synapse \
--network=caddy-network \
--rm \
--mount type=bind,src=/opt/matrixdotorg-synapse/data,dst=/data \
matrixdotorg/synapse:latest
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,12 @@
[Unit]
Description=Create docker network: caddy-network
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/docker network create caddy-network
[Install]
WantedBy=multi-user.target

2
files/etc/hosts Normal file
View File

@@ -0,0 +1,2 @@
127.0.0.1 localhost akpella.fst.ee
::1 localhost akpella.fst.ee

View File

@@ -0,0 +1,7 @@
[Match]
Name=eth0
[Network]
DNS=1.1.1.1
Address=193.40.103.107/24
Gateway=193.40.103.1

View File

@@ -0,0 +1,18 @@
{
#acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
email akpall+akpella@fst.ee
}
fst.ee {
root * /var/www/html
file_server
}
fst.ee:8448 {
reverse_proxy /_matrix/* matrixdotorg-synapse:8008
}
matrix.fst.ee {
reverse_proxy /_matrix/* matrixdotorg-synapse:8008
reverse_proxy /_synapse/client/* matrixdotorg-synapse:8008
}