
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:
Workers using
itty-router
-
named
fennec-utilities
, this is a serverless RESTful API that works together with the@magicalbunny31/fennec-utilities
package (see below) which interfaces with theDiscord API and
Google Cloud:
Firestore APIs
-
@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
andwolf-x
-
servers prefixed with
fox-
are my own physical servers (running using variousRaspberry 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 asGoogle Cloud:
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
andwolf-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 allwolf-x
servers, includingwolf-0
for simplicity's sake) are websocket clients to the websocket server towolf-0
-
the main fennec π» instance on
wolf-0
provides the interface (viaDiscord) 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 to provide a vpn connection~), and doing other tedious tasks that would save me from having to login with ssh