tavern/README.md

3.5 KiB

tavern

A minimalistic Activity Pub server. Think mastodon, but smaller and with fewer features.

This project is in active development and should not be used in production.

Build

$ go build -o tavern main.go

Commands

NAME:
   tavern - The tavern application.

USAGE:
   main [global options] command [command options] [arguments...]

COMMANDS:
   init     Initialize the server
   server   Run the web server.
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help (default: false)
   --version, -v  print the version (default: false)

COPYRIGHT:
   (c) 2020 Nick Gerakines

Init

NAME:
   main init - Initialize the server

USAGE:
   main init [command options] [arguments...]

OPTIONS:
   --environment value        Set the environment the application is running in. (default: "development") [$ENVIRONMENT]
   --listen value             Configure the server to listen to this interface. (default: "0.0.0.0:8000") [$LISTEN]
   --domain value             Set the website domain. (default: "tavern.ngrok.io") [$DOMAIN]
   --database value           Select the database to connect to. (default: "host=localhost port=5432 user=postgres dbname=tavern password=password sslmode=disable") [$DATABASE]
   --translations value       The path translations are located (default: "translations") [$TRANSLATIONS]
   --admin-email value        The email address of the admin user
   --admin-password value     The password of the admin user
   --admin-locale value       The locale of the admin user (default: "en")
   --admin-name value         The name of the admin user
   --admin-displayname value  The display name of the admin user
   --admin-about value        The 'about me' of the admin user
   --help, -h                 show help (default: false)

Server

NAME:
   main server - Run the web server.

USAGE:
   main server [command options] [arguments...]

OPTIONS:
   --environment value   Set the environment the application is running in. (default: "development") [$ENVIRONMENT]
   --listen value        Configure the server to listen to this interface. (default: "0.0.0.0:8000") [$LISTEN]
   --domain value        Set the website domain. (default: "tavern.ngrok.io") [$DOMAIN]
   --database value      Select the database to connect to. (default: "host=localhost port=5432 user=postgres dbname=tavern password=password sslmode=disable") [$DATABASE]
   --translations value  The path translations are located (default: "translations") [$TRANSLATIONS]
   --secret value        Set the server secret [$SECRET]
   --admin-name value    The name of the admin user (default: "nick") [$ADMIN_NAME]
   --help, -h            show help (default: false)

Roadmap

  • User authentication
  • Follow remote user
  • User inbox - Follower "Accept" activities
  • Display feed - Note
  • Display feed - Announce
  • Announce from feed
  • Reply to note with conversation and context
  • Activity endpoint
  • User inbox - "Undo Follow" activities
  • Delete activities
  • Server inbox
  • Create note non-english
  • Server stats
  • Markdown support in notes
  • User thumbnails/avatars
  • Tags support in notes
  • Mentions support in notes
  • Actor outbox
  • Public timeline API
  • 2FA
  • Unfollow
  • Activity de-duplication
  • Sentry integration
  • Email notifications
  • Pushover notifications
  • HTML User profile pages
  • HTML activity pages
  • Direct message support