mirror of
https://github.com/dragonlock2/matthewtran.com.git
synced 2025-12-16 06:33:01 +00:00
matthewtran.com
Stuff that's deployed on matthewtran.com. Currently running the following services.
- website
- gitea (git.matthewtran.com)
- monerod
- p2pool (
xmrig -o matthewtran.com:3333) - minecraft
- minecraft bedrock
terraria- wireguard
setup
- Install Ubuntu Server 24.04.1 LTS.
- Add OpenSSH Server and Docker during the process.
- Expand the root partition if needed.
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lvresize2fs /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 dockerusermod -aG docker $USER
- Enable UFW and allow the following.
ufw enableufw allow OpenSSHufw allow 51820/udp
- Reboot.
- Forward the following ports. Set a static IP if needed.
- website -
80,443 - gitea -
2222 - monerod -
18080 - p2pool -
3333,37888,37889 - minecraft -
25565 - minecraft bedrock -
19132,19133 - terraria -
7777 - wireguard -
51820
- website -
- Install dependencies and clone.
apt install avahi-daemon git python3 python-is-python3 qrencode wireguard zipgit clone https://github.com/dragonlock2/matthewtran.comcd matthewtran.com
- Set up WireGuard.
systemctl enable wg-quick@wg0.servicepython wireguard/setup.pysystemctl start wg-quick@wg0.service
- Enable IPv6 for Docker.
- Add the following to
/var/snap/docker/current/config/daemon.json."ipv6": true"fixed-cidr-v6": "fd3a:138e:8fd0:0000::/64"
systemctl restart snap.docker.dockerd.service
- Add the following to
- Set up the repo.
- Run
./volumes.sh, allowing the containers to access the binded volumes since you have the same UID/GID by default. - Create
website/sendgrid.keywith a SendGrid API key. - Create
terraria/password.txtif needed. - Restore backups if needed.
- Run
- Build and start the services.
docker compose builddocker compose up -d
- If first start, some services need configuring.
- Gitea
backup
Run ./backup.sh and save the resultant data.zip somewhere. I should probably automate this.
Description
Languages
Python
64.8%
HTML
13.8%
CSS
7.8%
Dockerfile
7.1%
Shell
4.1%
Other
2.4%