Project - Web from scratch

Learning by doing

  • Provision single machine

    • Firewall config
  • Register domain

    • Point to your own name server
  • Write deployment script

    • Clones repo, if not already cloned
    • Pulls from main branch
    • Installs toolchain, if not already installed
    • Builds binaries
    • Scp to server(s)
    • Ssh to restart services
  • Develop DNS server

    • Based on RFC
    • JSON-based config
    • Config is kept on a branch, not main
  • Develop web server

    • Based on RFCs
    • JSON-based config
  • Develop API service

    • Serve site stats
  • Web content served

    • Statically generated (Astro)
    • With dynamic content mixed in

Resources

DNS

https://www.techtarget.com/searchnetworking/definition/domain-name-system

Private name server on Hover

https://support.appliedi.net/kb/creating-private-name-servers-at-hover-com/