Personal ActivityPub server intended for single-user instances.
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.
 
 
 
 
teknomunk d714135f06
Move account sync to inbox processing and reduce timeout to 3 hours, add stub route for /api/v2/, change inbox and outbox processing to stop using fs_list and remove file locking that was causing significant delays, start using struct status_ref to include the id URL and not just the local status id
2 months ago
assets Add Soapbox frontend as submodule 4 months ago
migrations Fix probably SEGV in outbox envelope creation with shared inboxes, move data for statuses so everything isn't data/statuses/*.json (need to repeat for data/statuses/ap) 1 year ago
src Move account sync to inbox processing and reduce timeout to 3 hours, add stub route for /api/v2/, change inbox and outbox processing to stop using fs_list and remove file locking that was causing significant delays, start using struct status_ref to include the id URL and not just the local status id 2 months ago
tools Move src/util/* to submodule, implement route for status quotes, fix path for embed tool 9 months ago
.build.ignores Update readme, start model for owner 1 year ago
.builder.options.rb Rework inbox processing, add stubs for account add/remove follower, create notice when processing follow, rework outbox (use envelope with single destination), add handlers for paths referenced in actor, add test to validate locally-created HTTP signature 1 year ago
.gitignore Update README, add .gif mime type, add additional web servers 4 months ago
.gitmodules Add Soapbox frontend as submodule 4 months ago
LICENSE Initial commit 1 year ago
README.md Update README, add .gif mime type, add additional web servers 4 months ago
build.sh Make build.sh work from fresh checkout, fix crash on first start when Tor hasn't initialized yet 4 months ago
clean.sh Fix issue with clean, implement process management 9 months ago
pretty_json.rb Add debug tool (pretty_json.rb), change limit on follower/following accounts results, implement delivery to shared inboxes 1 year ago

README.md

apogee

Personal ActivityPub server intended for single-user instances.

This software is intended to support exactly one user, and bot accounts owned by that user.

WARNING! This software is early in development and as such is missing most of the functionality one would expect from an ActivityPub server. Software is unstable.

USE AT YOUR OWN RISK.

Features

  • Single User - It's just you.
  • NoSQL - No need to install or maintain a database.
  • ActivityPub federation - follow interesting people on the many instances of the fediverse.

Dependencies

Runtime

  • libCURL
  • OpenSSL
  • Globaly resolvable domain name
  • Tor

Source Install/Development

  • C Compiler (test with GCC)
  • Ruby (hopefully temporary)

Source Installation Instructions

Ensure you have system packages for the dependencies installed, then run the following code in a terminal window:

git clone https://gitea.polaris-1.work/teknomunk/apogee.git
cd apogee
./build.sh
./apogee --listen=$PORT

If everything worked correctly, you should see something similar to the following:

Starting Apogee ActivityPub server...
Using port 21630 for web server
Starting section 6 (tor)
Starting section 0 (webserver)
Starting section 1 (inbox)
Starting section 2 (outbox)
Starting section 5 (fetch)

The listening port is chosen at random each time the program is run unless setup or a port is specified with --listen=$PORT, then the configured port is used. Open a browser and navigate to http://{hostnameOrIPAddress}:{PORT}/, then fill in the required information.