Prosopon is a lightweight Minecraft identity manager
Prosopon is a Minecraft identity manager with multi-profile, texture (both skin and cape) management and Yggdrasil api compatibility based on Next.js.
It's designed for small community and fast, serverless deployment
Basic Requirements:
- a PostgreSQL database
- an S3-compatible object storage (Remember to configure CORS policy)
- an RSA keypair (see authlib-injector docs)
All required environment variables:
Site info:
# (Required) your site domain, required for profile uuid generation
SITE_DOMAIN=""
# (Required) domain of your texture host. see Yggdrasil docs
TEXTURE_DOMAIN=""Database:
# (Required) Postgres database url
DATABASE_URL=""Texture storage:
# (Required) S3-compatible storage credentials, for storing textures
S3_ENDPOINT=""
S3_ACCESS_KEY_ID=""
S3_SECRET_ACCESS_KEY=""
S3_BUCKET_NAME=""Cryptography:
# (Required) secret for jwt signing
APP_SECRET=""
# (Required) RSA key pair in base64, for yggdrasil texture signing
RSA_PUBKEY_B64=""
RSA_PRIVKEY_B64=""Tip
see .env.example for all supported environment variables.
You can deploy this application by forking this repo and importing it into Vercel.
Download.env.example, fill in it and upload to Vercel (or manually fill in the environment variables) before deploying.
Preparing.
git clone https://github.com/ravachol-yang/prosopon.git
cd prosopon
pnpm install
cp .env.exmaple .envFill in the .envand build the app.
pnpm run buildRunning.
pnpm run startFirst deployment creates a default ADMIN with email prosopon@example.com and password prosopon, log into the dashboard, create your first Profile and upload Textures for it, ADMINs can create Invites for their friends to join.
Note
This project is designed for personal community, invite verification is required*
See authlib-injector docs for integration with supported launchers and usage on Minecraft servers.