Single user ActivityPub instance.

Marius Orcsik via go-activitypub-dev

9 days ago

Marius Orcsik via go-activitypub-dev

9 days ago


Is a single instance ActivityPub server compatible with Mastodon and the rest of the Fediverse.

#Getting the source

$ git clone https://git.sr.ht/~mariusor/oni
$ cd oni


# We need to download the JavaScript dependencies, using yarn or npm
# yarn install
# npm install 
$ go mod tidy
$ go generate frontend.go
$ go build -trimpath -a -ldflags '-s -w -extldflags "-static"' -o $(go env GOPATH)/bin/oni ./cmd/oni/main.go

#Run server

# -listen can be a tcp socket, a domain socket, or the magic string "systemd"
# The later should be used if running as a systemd service with socket activation
$ oni -listen -path ~/.cache/oni

#Add root actor

# Creates an actor for URL https://johndoe.example.com and adds an OAuth2 client application with name 'johndoe.example.com'
# with OAuth2 client password 'SuperSecretOAuth2ClientPassword'. 
# The --with-token boolean flag can make the application generate an Authorization header containing a Bearer token 
# usable directly in an ActivityPub client.
$ onictl actor add --pw SuperSecretOAuth2ClientPassword https://johndoe.example.com