Cool little discord profile page
Find a file
creations a739ffb4b7
All checks were successful
Code quality checks / biome (push) Successful in 11s
add fprgejo image bottom right
2025-04-21 16:50:07 -04:00
.forgejo/workflows update biome.json and add workflow 2025-04-10 06:29:21 -04:00
.vscode move to biomejs 2025-04-07 04:36:07 -04:00
config add redis, game icons and fix readme 2025-04-20 14:39:15 -04:00
public add fprgejo image bottom right 2025-04-21 16:50:07 -04:00
src add fprgejo image bottom right 2025-04-21 16:50:07 -04:00
types add option to use vibrant colors from avatar needs moving around 2025-04-10 07:09:10 -04:00
.editorconfig stinky editor configs 2025-04-05 01:29:03 -04:00
.env.example add redis, game icons and fix readme 2025-04-20 14:39:15 -04:00
.gitattributes stinky editor configs 2025-04-05 01:29:03 -04:00
.gitignore Add image processing route with color extraction using node-vibrant 2025-04-05 02:29:23 -04:00
biome.json add option to use vibrant colors from avatar needs moving around 2025-04-10 07:09:10 -04:00
LICENSE add a readme and license 2025-04-11 19:31:10 -04:00
package.json update package 2025-04-10 19:26:24 -04:00
README.md add redis, game icons and fix readme 2025-04-20 14:39:15 -04:00
tsconfig.json move to biomejs 2025-04-07 04:36:07 -04:00

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 relies on the following services to function correctly:

1. Lanyard Backend

This project depends on a self-hosted or public Lanyard instance for Discord presence data. Make sure Lanyard is running and accessible before using this profile page.

2. Redis Instance

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


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

Required .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
LANYARD_INSTANCE Lanyard WebSocket endpoint URL
BADGE_API_URL Uses the badge api only required if you want to use badges

Optional Lanyard KV Vars (per-user customization)

These are expected to be defined in Lanyard's KV store:

Variable Description
snow Enables snow background effect (true)
rain Enables rain background effect (true)
readme URL to a README file displayed on your profile
stars Enables stars background effect (true)
colors Enables avatar-based color theme (uses node-vibrant)
badges Enables or disables fetching of badges per user

3. Start the App

bun run start

Then open http://localhost:8080 in your browser.


Docker Support

Build & Start with Docker Compose

docker compose up -d --build

Make sure your .env file is correctly configured before starting.


Tech Stack

  • Bun Runtime
  • EJS Templating
  • CSS Styling
  • node-vibrant Avatar color extraction
  • Biome.js Linting and formatting

License

MIT