fennec's avatar

laptop fennec πŸ’»

the app-for-all-apps helper~

Overview

managing and maintaining so many discord apps is a lot of work!

being the lazy bean that i am, i decided to create fennec πŸ’»: a conglomerate of different projects that provides a drop-in cross-project standardisation to help with logging and monitoring of all of my apps!

wonder what makes up fennec πŸ’» and how i include those tools in my workflows? keep on reason~

πŸ—ƒοΈ the different components of fennec

  • cloudflare logo Cloudflare: cloudflare workers & pages logo Workers using itty logo itty-router
  • github logo @magicalbunny31/fennec-utilities
    • this is a github package developed as an API wrapper for fennec-utilities (see above)
    • it helps with displaying logs to developers via fennec πŸ’» and also displaying announcements, managing blacklists, and marking apps as offline for maintenance to users
  • fennec πŸ’» discord app and fennec websockets
    • each of my physical and cloud servers (which run my apps) are named fox-x and wolf-x
      • servers prefixed with fox- are my own physical servers (running using various raspberry pi logo Raspberry Pi boards) and have a 0-based index which defines the order in which i got the server in
        • for example, fox-0 represents my oldest server, fox-1 represents my second oldest server, and so on..
      • servers prefixed with wolf-0 are my own cloud servers (running on various platforms, such as google cloud logo Google Cloud: google cloud compute engine logo Compute Engine) and have a 0-based index which defines the order in which i got the server in
        • for example, wolf-0 represents my oldest server (and currently my only offside cloud server too)
    • fennec πŸ’» runs on all fox-x and wolf-x servers
      • the main fennec πŸ’» instance runs on wolf-0, a server that persistently kept online, and provides the hosting for the fennec πŸ’» and as well as an authenticated websocket server
      • all other fennec πŸ’» instances (on all fox-x and all wolf-x servers, including wolf-0 for simplicity's sake) are websocket clients to the websocket server to wolf-0
      • the main fennec πŸ’» instance on wolf-0 provides the interface (via discord logo Discord) and sends requests to other fennec πŸ’» instances connected to the websocket to provide tools to help monitor apps running on the respective server
      • for example, the main fennec πŸ’» instance may issue commands to a specific server, such as fox-0, to perform functions like restarting a specific app, viewing its console's logs, monitoring its resources, and even restarting the server itself
      • having such commands baked into fennec πŸ’» helps my workflow by automating tasks, allowing access to my servers outside my home network (don't worry, i also use tailscale logo Tailscale to provide a vpn connection~), and doing other tedious tasks that would save me from having to login with ssh