Skip to content

Instantly share code, notes, and snippets.

@shoenig
Last active October 6, 2024 18:10
Show Gist options
  • Save shoenig/d707e7313748906cb8572d341298c5a8 to your computer and use it in GitHub Desktop.
Save shoenig/d707e7313748906cb8572d341298c5a8 to your computer and use it in GitHub Desktop.
homelab files october 2024
[Unit]
Description=Caddy Web Server
After=network.target
[Service]
ExecStart=/opt/bin/caddy run --config=/etc/caddy/Caddyfile
Type=simple
Restart=always
User=caddy
Group=caddy
PrivateTmp=yes
NoNewPrivileges=true
ProtectSystem=strict
ReadWritePaths=/var/local/caddy
AmbientCapabilities=CAP_NET_BIND_SERVICE
LimitCORE=0
OOMScoreAdjust=-500
MemoryLow=32M
MemoryMax=256M
[Install]
WantedBy=multi-user.target
{
email [email protected]
storage file_system {
root /var/local/caddy
}
# Staging CA
# acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
}
cattlecloud.net {
file_server {
root /srv/cattle.d
index index.html
}
}
tickerfeed.net {
file_server {
root /srv/tickerfeed.d
index index.html
}
}
sethops1.net {
handle /hclfmt {
uri strip_prefix /hclfmt
reverse_proxy 127.0.0.1:3000
}
handle {
file_server {
root /srv/sethops1.d
index index.html
}
}
}
slides.sethops1.net {
reverse_proxy 127.0.0.1:3001
}
noxide.lol {
handle /go/* {
file_server {
root /srv/modules.d
}
}
handle {
file_server {
root /srv/noxide.d
index index.html
}
}
}
unsocialbookmarking.site {
reverse_proxy 127.0.0.1:8080
}
[Unit]
Description=HCLFMT As a Service
After=network.target
[Service]
ExecStart=/opt/bin/hclfmt-web
Type=simple
Restart=always
User=anonymous
Group=anonymous
Environment="BIND=127.0.0.1"
Environment="PORT=3000"
PrivateTmp=yes
NoNewPrivileges=true
ProtectSystem=strict
LimitCORE=0
OOMScoreAdjust=800
MemoryLow=16M
MemoryMax=64M
[Install]
WantedBy=multi-user.target
[Unit]
Description=Go present tool
After=network.target
[Service]
ExecStart=/opt/bin/present -play=false -http=127.0.0.1:3001 -content=/srv/slides.d/slides
Type=simple
Restart=always
User=slides
Group=slides
PrivateTmp=yes
NoNewPrivileges=true
ProtectSystem=strict
LimitCORE=0
OOMScoreAdjust=800
MemoryLow=32M
MemoryMax=64M
[Install]
WantedBy=multi-user.target
[Unit]
Description=Synchronize ssh authorized keys with public keys from github.
[Service]
ExecStart=/opt/bin/ssh-key-sync -verbose -system-user shoenig -github-user shoenig
[Unit]
Description=Run ssk-key-sync every 6 hours
[Timer]
OnBootSec=5min
OnUnitActiveSec=6h
Unit=ssh-key-sync.service
[Install]
WantedBy=timers.target
[Unit]
Description=Unsocial Bookmarking Site
After=network.target
[Service]
ExecStart=/opt/bin/ubs /etc/ubs/config.hcl
Type=simple
Restart=always
User=ubs
Group=ubs
ReadWritePaths=/var/local/ubs
PrivateTmp=yes
NoNewPrivileges=true
ProtectSystem=strict
LimitCORE=0
OOMScoreAdjust=400
MemoryLow=32M
MemoryMax=64M
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment