Deploy atproto-tap-example
Template for backfilling on atproto
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host atproto-tap-example on Railway
Backfill atproto records made easy
About Hosting atproto-tap-example
Set configs and deploy your atproto-tap-example backfiller on Railway.
Common Use Cases
- Backfilling atproto records
- Listening for new atproto records
Dependencies for atproto-tap-example Hosting
- tap
- postgresql
Deployment Dependencies
- tap
- @atproto/tap - TypeScript SDK for interacting with tap
Implementation Details
Example consuming tap
import { Tap, SimpleIndexer } from '@atproto/tap'
const tap = new Tap('https://{your tap service public domain}', {adminPassword: 'topsecret'})
const indexer = new SimpleIndexer()
indexer.identity(async (evt) => {
console.log(`${evt.did} updated identity: ${evt.handle} (${evt.status})`)
})
indexer.record(async (evt, opts) => {
const uri = `at://${evt.did}/${evt.collection}/${evt.rkey}`
if (evt.action === 'create' || evt.action === 'update') {
console.log(`${evt.action}: ${uri}`)
} else {
console.log(`deleted: ${uri}`)
}
//Uncomment to NOT acknowledge the event from the tap server so you can re run the script during development
// opts.ack = () => console.log('"acknowledged"')
})
indexer.error((err) => console.error(err))
const channel = tap.channel(indexer)
channel.start()
Why Deploy atproto-tap-example on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying atproto-tap-example on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
TAP_ADMIN_PASSWORD
The admin password for the service. You want this if it's open to the public
TAP_SIGNAL_COLLECTION
The lexicon collection you want to find repos(users) by. You want one your users on the atproto app mostly have. like sh.tangled.actor.profile
TAP_COLLECTION_FILTERS
Comma sepperated list of collections you want to be added while backfilling and listening to on the firehose