chadtmiller.com/pds.js
An atproto PDS in JavaScript, for Cloudflare Workers and Node
0
0
name = "atproto-pds"
main = "node_modules/@pdsjs/cloudflare/src/index.js"
compatibility_date = "2024-01-01"
[[durable_objects.bindings]]
name = "PDS"
class_name = "PDSDurableObject"
[[migrations]]
tag = "v1"
new_sqlite_classes = [ "PDSDurableObject" ]
[[r2_buckets]]
binding = "BLOBS"
bucket_name = "pds-blobs"
# Scheduled backups land here. A separate bucket from BLOBS on purpose: the
# retention policy deletes freely inside it. Remove to run without backups.
# [[r2_buckets]]
# binding = "BACKUPS"
# bucket_name = "pds-backups"
# Account verification mail via the Email Service. The From address must use a
# domain onboarded for Email Sending (npx wrangler email sending enable
# example.com). Uncomment to enable; mail defaults to no-reply@HOSTNAME, or
# set PDS_EMAIL_FROM in [vars] for a specific sender.
# [[send_email]]
# name = "EMAIL"
# Permissioned data (proposal 0016), experimental. Remove this block to leave
# it off; with it off the space endpoints do not exist.
# [vars]
# PDS_ENABLE_SPACES = "true"
# Static sites served from the repo (dev.pdsjs.site.deploy records + blobs).
# PDS_EXPERIMENTAL_SITE_DOMAIN enables the feature; each site serves at
# <rkey>.<domain>, and the site named by PDS_EXPERIMENTAL_SITE_APEX_NAME (default
# "home") serves at the apex. The PDS itself should answer on a hostname
# outside this domain or on a subdomain of it (e.g. pds.example.com) —
# a PDS at the apex shadows the apex site.
#
# Site hostnames must be routed to this Worker. Custom Domains cannot carry
# wildcards, so use zone routes (the zone must be on Cloudflare, with
# proxied DNS records for the apex and *):
#
# routes = [
# { pattern = "example.com/*", zone_name = "example.com" },
# { pattern = "*.example.com/*", zone_name = "example.com" },
# ]
#
# Universal SSL covers one wildcard level; deeper subdomains 404 by design.
# [vars]
# PDS_EXPERIMENTAL_SITE_DOMAIN = "example.com"
# PDS_EXPERIMENTAL_SITE_APEX_NAME = "home"