A fork of pds-dash for selfhosted.social
1# pds-dash 2 3A fork of 4[pds-dash](https://git.witchcraft.systems/scientific-witchery/pds-dash) for 5[selfhosted.social](https://selfhosted.social). The top part of the readme is 6about this fork. See after [Original Readme](#original-readme) to see the 7original readme for setup 8 9This fork is much the same but a few differences: 10 11- [New theme](/src/lib/assets/theme.css) 12- Uses the CDN for loading images and videos instead of 13 `com.atproto.sync.getBlob` 14- Caches a couple of things like did -> handle and PDS user profile lexicon 15 inside localstorage. Not the best, but was simpler and has a expire on get. 16- The text "Home to x accounts" only shows active accounts. 17- I did add a sponsor button for my GitHub. 18 19An example of a caddy file you can use 20 21```caddyfile 22 # Should be all the endpoints a PDS calls 23 @pds { 24 path /xrpc/* 25 path /account/* 26 path /.well-known/* 27 path /@atproto/* 28 path /oauth/* 29 } 30 31 handle @pds { 32 reverse_proxy http://localhost:3000 33 } 34 35 # If none matches goes to landing page 36 handle /* { 37 root * /srv/landing 38 try_files {path} /index.html 39 file_server 40 } 41``` 42 43# Original Readme 44 45a frontend dashboard with stats for your ATProto PDS. 46 47## setup 48 49### prerequisites 50 51- [deno](https://deno.com/manual/getting_started/installation) 52 53### installing 54 55clone the repo, copy `config.ts.example` to `config.ts` and edit it to your 56liking. 57 58then, install dependencies using deno: 59 60```sh 61deno install 62``` 63 64### development server 65 66local develompent server with hot reloading: 67 68```sh 69deno task dev 70``` 71 72### building 73 74to build the optimized bundle run: 75 76```sh 77deno task build 78``` 79 80the output will be in the `dist/` directory. 81 82## deploying 83 84we use our own CI/CD workflow at 85[`.forgejo/workflows/deploy.yaml`](.forgejo/workflows/deploy.yaml), but it boils 86down to building the project bundle and deploying it to a web server. it'll 87probably make more sense to host it on the same domain as your PDS, but it 88doesn't affect anything if you host it somewhere else. 89 90## configuring 91 92[`config.ts`](config.ts) is the main configuration file, you can find more 93information in the file itself. 94 95## theming 96 97themes are located in the `themes/` directory, you can create your own theme by 98copying one of the existing themes and modifying it to your liking. 99 100currently, the name of the theme is determined by the directory name, and the 101theme itself is defined in `theme.css` inside that directory. 102 103you can switch themes by changing the `theme` property in `config.ts`. 104 105the favicon is located at [`public/favicon.ico`](public/favicon.ico) 106 107## license 108 109MIT