Install
You need:
- A Linux server with Docker and 2 GB of RAM.
- A domain name, like
playdex.example.com, whose DNS points at the server. - Ports 80 and 443 open.
-
Get the files
Terminal window mkdir playdex && cd playdexbase=https://raw.githubusercontent.com/ivankaizer/playdex/main/selfhostcurl -fsSLO $base/docker-compose.ymlcurl -fsSLO $base/Caddyfilecurl -fsSL $base/.env.example -o .env -
Fill in
.envThree values are required:
.env PLAYDEX_DOMAIN=playdex.example.comPOSTGRES_PASSWORD= # openssl rand -hex 32JWT_SECRET= # openssl rand -hex 32Everything else is optional. See Configuration.
-
Start it
Terminal window docker compose up -dCaddy gets a certificate on its own. The API sets up the database on first start.
-
Check it
Terminal window curl https://playdex.example.com/api/# {"data":"Ok","error":null} -
Create your account
There is no public sign-up. Make yourself an admin:
Terminal window It prints a generated password once. To choose your own, pipe it in:
Terminal window echo 'my password' | docker compose exec -T app dotnet Api.dll create-user [email protected] --admin -
Sign in
Open
https://playdex.example.com. The admin console is at/admin.
Next: connect your platforms.