From c3ef9eb51458b36d7614fcb588c860bd9ff76316 Mon Sep 17 00:00:00 2001 From: Matthew Tran Date: Tue, 17 Sep 2024 02:02:35 +0000 Subject: [PATCH] website and p2pool graceful stop --- README.md | 3 +++ monerod/entry.sh | 11 ++++++++++- p2pool/entry.sh | 2 +- website/Dockerfile | 1 + website/cert_update.py | 10 ++++++++++ website/entry.sh | 13 +++++++------ 6 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 website/cert_update.py diff --git a/README.md b/README.md index a011656..937f07b 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ Stuff that's deployed on [matthewtran.com](https://matthewtran.com). Currently r - Expand the root partition if needed. - `lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv` - `resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv` + - Enable huge pages. + - `echo "vm.nr_hugepages=3072" | sudo tee -a /etc/sysctl.conf` - Give yourself Docker access if needed. - `groupadd docker` - `usermod -aG docker $USER` @@ -25,6 +27,7 @@ Stuff that's deployed on [matthewtran.com](https://matthewtran.com). Currently r - `ufw enable` - `ufw allow OpenSSH` - `ufw allow 51820/udp` + - Reboot. 2. Forward the following ports. Set a static IP if needed. - website - `80`, `443` - gitea - `2222` diff --git a/monerod/entry.sh b/monerod/entry.sh index 346f4ce..fddca2e 100644 --- a/monerod/entry.sh +++ b/monerod/entry.sh @@ -1,5 +1,6 @@ #!/bin/sh +# check bitmonero.log for log monero/monerod \ --prune-blockchain \ --rpc-bind-ip 0.0.0.0 \ @@ -10,4 +11,12 @@ monero/monerod \ --add-priority-node=p2pmd.xmrvsbeast.com:18080 \ --add-priority-node=nodes.hashvault.pro:18080 \ --disable-dns-checkpoints \ - --enable-dns-blocklist + --enable-dns-blocklist \ + --detach + +cleanup() { + monero/monerod exit +} +trap 'cleanup' TERM +tail -f /dev/null & +wait $! diff --git a/p2pool/entry.sh b/p2pool/entry.sh index b6f8196..5466ba8 100644 --- a/p2pool/entry.sh +++ b/p2pool/entry.sh @@ -1,7 +1,7 @@ #!/bin/sh cd cache -~/p2pool \ +exec ~/p2pool \ --mini \ --host monerod \ --wallet 42j7pyNRf8WE96D1xb6pjPWCwaDaYYevwZSPpELbTJjnXiKp7Lhtahbhb5Gc3p2BVxgMB3FEGNPUcbST1oZds6nBERA4jrQ diff --git a/website/Dockerfile b/website/Dockerfile index f0927f2..79cc89e 100644 --- a/website/Dockerfile +++ b/website/Dockerfile @@ -18,4 +18,5 @@ COPY html /var/www/matthewtran.com/html # start script WORKDIR /root COPY sendgrid.ke[y] ip_update.py ./ +COPY cert_update.py ./ COPY entry.sh ./ diff --git a/website/cert_update.py b/website/cert_update.py new file mode 100644 index 0000000..8ddfcd5 --- /dev/null +++ b/website/cert_update.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 + +import subprocess +import time + +if __name__ == '__main__': + while True: + # try renew once a day + subprocess.run(['certbot', 'renew', '--quiet']) + time.sleep(86400) diff --git a/website/entry.sh b/website/entry.sh index 076f37e..af2bfcd 100644 --- a/website/entry.sh +++ b/website/entry.sh @@ -16,10 +16,11 @@ certbot --nginx \ nginx -s reload python3 ip_update.py & +python3 cert_update.py & -# try renew once a day -while true -do - certbot renew --quiet - sleep 86400 -done +cleanup() { + echo "stopping..." +} +trap 'cleanup' TERM + +wait $! # wait SIGTERM, other processes can just be killed