Login with:

By Nanophage

Welcome to CordPal!


This site runs on my homelab! For more information around homelabs and self-hosting, check out the following:

What is this website?

CordPal is a companion site for Discord servers that allows users to login with their Discord account and participate in Quotes, Photoshops, and Album of the Day! Cordpal allows users to extend discord and create an even more inclusive and enjoyable community for everyone.

What can the website do? Do you have further plans?

This website currently does lots of inside joke-y things.

If this becomes something larger, so be it. But until then, its just a fun side project!

How is it set up?

Currently, this site consists of two main compute instances and one side instance (Hard to give it a label).

  1. A Frontend running on NextJS
  2. A Backend running on Django
  3. A Cron-Manager container running on Alpine
  4. A Postgresql Database
  5. A Discord Bot written in Python

The two main instances handle the serving of the frontend and the handling/tranforming/retrieval of data from a (currently) in memory database on the backend, via an api layer. The third compute instance runs the discord bot that users can interact with, within the server. You may ask me, why use a cron manager and not the host crontab? Great question! The issue is that currently all of these containers run on my UNRAID server, which can be a little finicky with user crons. Also, eventually I would like to migrate this site to a selfhosted k8s cluster, so by having a written out crontab I can migrate to K8s with more ease. All of these instances are containerized and self-hosted so that I can have full control over the process and learn as much as possible. Below is a simplified infra diagram:

Who am I?

My name is Thomas Campbell! I am passionate about creating things and learning as much as I can!

3rd Party Attributions:

A special thanks to all 3rd party libraries and APIs that make this website possible as a passion project. Libraries and APIs listed below:

  • NextJS - Frontend
  • NextUI - Frontend UI library to make my life as a DevOps guy easier
  • RemixIcons - Open source icons.
  • TipTap - Rich text editor, made it much easier to implement rich text editing for users.
  • Rosen Charts - SSR Chart Library that is extremely easily extensible.
  • Spotify API - All songs and artist related media is property of spotify and/or the respective artist.
  • Discord API - The start of the whole project.

© Copyright 2024-2025 - Cord-Pal - All Rights Reserved

Business Inquiries, reach out to

Thomas Campbell

Powered by

MusicBrainz Logo

This application utilizes the MusicBranz API but is not officially endorsed by MusicBrainz.