GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - bitcrowd/dataplane_elixir

BranchesTags
Open more actions menu

Latest commit

 

History

35 Commits
35 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
config
config
 
 
lib
lib
 
 
test
test
 
 
.credo.exs
.credo.exs
 
 
.dockerignore
.dockerignore
 
 
.formatter.exs
.formatter.exs
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
coveralls.json
coveralls.json
 
 
mise.toml
mise.toml
 
 
mix.exs
mix.exs
 
 
mix.lock
mix.lock
 
 

Repository files navigation

DataplaneEx

This project is an Elixir implementation of Bluesky's dataplane.

It currently only supports inserting posts and follows and getting the timeline for a user.

You must set the following environment variables according to your setup.

  • BSKY_DATAPLANE_PORT
  • BSKY_RELAY_WEBSOCKET

To start your Phoenix server:

  • Run MIX_ENV=prod mix setup to install and setup dependencies
  • Start Phoenix endpoint with MIX_ENV=prod mix phx.server or inside IEx with MIX_ENV=prod iex -S mix phx.server

Loading users and follows

You can load users and follows from CSV files.

Prepare the users CSV with a header row and one user DID per row. The parser expects these columns:

user_did,indexedAt,trustedVerifier
did:plc:alice,2026-01-01T00:00:00Z,false
did:plc:bob,2026-01-01T00:00:00Z,false

Prepare the follows CSV with a header row. The parser reads the actor DID from the third column and the subject DID from the fourth column:

uri,cid,actor_did,subject_did
at://did:plc:bob/app.bsky.graph.follow/1,bafyre...,did:plc:bob,did:plc:alice

Load users before follows, because follows reference existing users.

In development, start IEx and run:

MIX_ENV=prod iex -S mix phx.server
alias DataplaneEx.Indexer

Indexer.bulk_users_from_file("/path/to/users.csv")
Indexer.bulk_follows_from_file("/path/to/follows.csv")

When running via a release (e.g. Docker), copy the CSV files into the container and attach with remote, then run the same commands:

docker cp users.csv   <container>:/tmp/users.csv
docker cp follows.csv <container>:/tmp/follows.csv
docker exec -it <container> bin/dataplane_ex remote

To delete all loaded data:

Indexer.vacuum()

About

No description, website, or topics provided.

Resources

Readme
MIT license
Activity
Custom properties

Stars

6 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.