pds-dash#
A fork of pds-dash for selfhosted.social. The top part of the readme is about this fork. See after Original Readme to see the original readme for setup
This fork is much the same but a few differences:
- New theme
- Uses the CDN for loading images and videos instead of
com.atproto.sync.getBlob - Caches a couple of things like did -> handle and PDS user profile lexicon inside localstorage. Not the best, but was simpler and has a expire on get.
- The text "Home to x accounts" only shows active accounts.
- I did add a sponsor button for my GitHub.
An example of a caddy file you can use
# Should be all the endpoints a PDS calls
@pds {
path /xrpc/*
path /account/*
path /.well-known/*
path /@atproto/*
path /oauth/*
}
handle @pds {
reverse_proxy http://localhost:3000
}
# If none matches goes to landing page
handle /* {
root * /srv/landing
try_files {path} /index.html
file_server
}
Original Readme#
a frontend dashboard with stats for your ATProto PDS.
setup#
prerequisites#
installing#
clone the repo, copy config.ts.example to config.ts and edit it to your
liking.
then, install dependencies using deno:
deno install
development server#
local develompent server with hot reloading:
deno task dev
building#
to build the optimized bundle run:
deno task build
the output will be in the dist/ directory.
deploying#
we use our own CI/CD workflow at
.forgejo/workflows/deploy.yaml, but it boils
down to building the project bundle and deploying it to a web server. it'll
probably make more sense to host it on the same domain as your PDS, but it
doesn't affect anything if you host it somewhere else.
configuring#
config.ts is the main configuration file, you can find more
information in the file itself.
theming#
themes are located in the themes/ directory, you can create your own theme by
copying one of the existing themes and modifying it to your liking.
currently, the name of the theme is determined by the directory name, and the
theme itself is defined in theme.css inside that directory.
you can switch themes by changing the theme property in config.ts.
the favicon is located at public/favicon.ico
license#
MIT