static, scriptless homepage for my pds (pds.jeanmachine.dev)
CSS 51.5%
HTML 48.5%
10 1 0

Clone this repository

https://tangled.org/jeanmachine.dev/pds-home https://tangled.org/did:plc:6vxtya3serxcwvcdk5e7psvv/pds-home
git@knot.tangled.wizardry.systems:jeanmachine.dev/pds-home git@knot.tangled.wizardry.systems:did:plc:6vxtya3serxcwvcdk5e7psvv/pds-home

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

pds-home#

This is a static homepage for my Personal Data Server, pds.jeanmachine.dev.

My PDS uses the typescript implementation provided by Bluesky PBC, and uses their container image. To set this up, I made the following changes to my Caddyfile (located at /pds/caddy/etc/caddy/Caddyfile) and Docker compose file (locatede at /pds/compose.yaml). I store this repository at /pds/static on my PDS server.

Caddyfile:

# important to seperate the wildcard from the root.
*.pds.jeanmachine.dev {
  tls {
    on_demand
  }
  reverse_proxy http://localhost:3000
}

pds.jeanmachine.dev {
  tls {
    on_demand
  }
  # this is where I store the static site.
  @static path / /index.css /favicon.ico /assets/* /fonts/*
  handle @static {
    root * /static
    file_server
  }
  # handle everything that isnt the static site/it's assets with the regular proxy
  handle {
    reverse_proxy http://localhost:3000
  }
}

Docker Compose:

volumes:
  - type: bind
    source: /pds/caddy/data
    target: /data
  - type: bind
    source: /pds/caddy/etc/caddy
    target: /etc/caddy
  - type: bind # this is the new binding in my compose; everything else is the same.
    source: /pds/static
    target: /static