A semantic ActivityPub server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
rustra e0972ae550 Merge branch 'litepub-ns' into 'develop' 8 months ago
.reuse add license headers and info using reuse 1 year ago
LICENSES add license headers and info using reuse 1 year ago
config Tests for WebFinger 8 months ago
docs CPub.Web.UserController: re-enable inbox and outbox endpoints 12 months ago
lib CPub.NS: Add improvised Litepub namespace. 8 months ago
priv CPub.NS: Add improvised Litepub namespace. 8 months ago
test Tests for NodeInfo protocol 8 months ago
.credo.exs add license headers and info using reuse 1 year ago
.dialyzer_ignore Add Dialyzer support 2 years ago
.formatter.exs add license headers and info using reuse 1 year ago
.gitignore add license headers and info using reuse 1 year ago
.gitlab-ci.yml add license headers and info using reuse 1 year ago
CHANGELOG.md add license headers and info using reuse 1 year ago
COPYING add COPYING 2 years ago
README.md [README.md] fix link to example/demo 11 months ago
mix.exs Remove support for Hackney adapter 10 months ago
mix.lock Update mix.lock 8 months ago

README.md

CPub

CPub is a general ActivityPub server built upon Semantic Web ideas. Most notably it also implements a Linked Data Platform (LDP) and uses RDF Turtle as serialization format.

The project goals are:

  • Develop a general ActivityPub server that can be used to create any kind of structured content.
  • Experiment with using Linked Data (RDF) as data model for everything.

CPub is developed as part of the openEngiadina platform for open local knowledge.

Quick start

Requirements:

  • Erlang/OTP
  • Elixir

To start the CPub server:

  • Install dependencies with mix deps.get
  • Start CPub with an Elixir shell iex -S mix phx.server

This will start a shell where you can interact with CPub as well as start the HTTP server at localhost:4000.

See the example on how to create a user and some data.

Release

Releases are tagged commits on the main branch. To make a new release:

  • Make sure Changelog is up-to-date
  • Start a merge of develop into main with git merge --no-ff --no-commit develop.
  • Update version in Changelog and mix.exs
  • Conclude merge with git commit
  • Add a git tag with git tag -a v0.x -m "v0.x"
  • Push to upstream branch with git push upstream main and git push upstream main --tags

Documentation

See the docs folder for documentation.