mykal.codes
mykalcodes@lemmy.ca
Joined
1 posts • 4 comments
Systems Analyst in higher ed. Interested in software and systems management.
I’ve got 3 “servers” at home right now.
- Raspberry Pi 4B 8gb: “RPINode0”
- hosts a gotosocial instance
- Raspbery Pi 4B 8gb: “RPINode1”
- hosts a few internal websites / APIs for staging (controlled via the docker API)
- hosts Home Assistant for me
- Unraid NAS: “Moonturtle”
- NGINX Proxy Manager: for exposing stuff to the internet
- Nextcloud: for file management and access. Most of my family uses this as opposed to Google Drive.
- Umami: website analytics
- Jellyfin: for watching movies and tv shows I’ve ripped
- Uptime Kuma: uptime monitoring and reporting
- DDNS updater: dynamic DNS updater so I can keep my DNS records up to date (don’t have a static IP)
- Portainer: for managing docker instances on RPINode1
- MySQL/PostgreSQL/Redis: provides database services to all the stuff listed above
- Flower: for monitoring Celery queues used by a few of my applications.
- WireGuard: VPN for remote management of the server and access to the services I don’t have exposed outside my network
I run a web-dev consulting company on the side and I have a few apps that use Celery queues. The main reason you’d want to use celery is to handle more intensive tasks asynchronously in the background.
Some example from my apps:
- user requests a report: celery task is enqueued to generate the report as a PDF/CSV and email it to them
- admin adds a new user: celery task is enqueued to send an invite email out to the user, as well as some onboarding emails
- user requests to modify a large amount of items: multiple tasks are enqueued to update the items in batches of x amount.