2025-01-20 08:30:16 +00:00
2024-12-04 02:39:33 +00:00
2024-09-17 11:36:35 +00:00
2025-01-20 08:30:16 +00:00
2024-09-16 08:51:19 +00:00
2024-09-17 02:11:32 +00:00
2024-09-16 05:44:19 +00:00
2024-09-16 05:44:19 +00:00
2024-10-23 03:24:42 +00:00
2024-09-19 09:58:26 +00:00
2023-07-31 00:11:11 -07:00
2024-09-19 09:58:26 +00:00
2024-09-16 22:19:00 +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

  1. 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-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
    • Enable UFW and allow the following.
      • 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
    • monerod - 18080, 18081
    • p2pool - 3333, 37888, 37889
    • minecraft - 25565
    • minecraft bedrock - 19132, 19133
    • terraria - 7777
    • wireguard - 51820
  3. Install dependencies and clone.
    • apt install avahi-daemon git python3 python-is-python3 qrencode wireguard zip
    • git clone https://github.com/dragonlock2/matthewtran.com
    • cd matthewtran.com
  4. Set up WireGuard.
    • systemctl enable wg-quick@wg0.service
    • python wireguard/setup.py
    • systemctl start wg-quick@wg0.service
  5. 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
  6. 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.key with a SendGrid API key.
    • Create terraria/password.txt if needed.
    • Restore backups if needed.
  7. Build and start the services.
    • docker compose build
    • docker compose up -d
  8. 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
Stuff that's deployed on matthewtran.com
Readme Apache-2.0 5.3 MiB
Languages
Python 64.8%
HTML 13.8%
CSS 7.7%
Dockerfile 7.2%
Shell 4.1%
Other 2.4%