profilePage/README.md
creations d15b69fe38
All checks were successful
Code quality checks / biome (push) Successful in 9s
fix readme
2025-04-21 18:26:17 -04:00

3.2 KiB
Raw Blame History

Discord Profile Page

A cool little web app that shows your Discord profile, current activity, and more. Built with Bun and EJS.


Requirements

This project depends on the following services to function properly:

1. Lanyard Backend

This project depends on a self-hosted or public Lanyard instance to fetch real-time Discord presence data. Make sure the Lanyard instance is running and accessible before using this.

2. Redis Instance

A Redis-compatible key-value store is required to cache third-party data (e.g., SteamGridDB icons). I recommend Dragonfly, a high-performance drop-in replacement for Redis.

3. Badge API

A lightweight API to render Discord-style badges.

Only needed if you want to show badges on profiles: https://git.creations.works/creations/badgeAPI

4. SteamGridDB

You only have to use this if you want to fetch game icons that Discord doesnt provide: https://www.steamgriddb.com/api/v2


Getting Started

1. Clone & Install

git clone https://git.creations.works/creations/profilePage.git
cd profilePage
bun install

2. Configure Environment

Copy the example environment file and update it:

cp .env.example .env

.env Variables

Variable Description
HOST Host to bind the Bun server (default: 0.0.0.0)
PORT Port to run the server on (default: 8080)
REDIS_URL Redis connection string
LANYARD_USER_ID Your Discord user ID, for the default page
LANYARD_INSTANCE Endpoint of the Lanyard instance
BADGE_API_URL Badge API URL (badgeAPI)
STEAMGRIDDB_API_KEY SteamGridDB API key for fetching game icons

Optional Lanyard KV Variables (per-user customization)

These can be defined in Lanyard's KV store to customize the page:

Variable Description
snow Enables snow background (true / false)
rain Enables rain background (true / false)
stars Enables starfield background (true / false)
badges Enables badge fetching (true / false)
readme URL to a README displayed on the profile (.md or .html)
colors Enables avatar-based color theming (uses node-vibrant)

3. Start the Instance

bun run start

Docker Support

Build & Start with Docker Compose

docker compose up -d --build

Make sure the .env file is configured correctly before starting the container.


License

MIT