Go to file
Nick Gerakines 0370ceee7f Update Crowdin configuration file 2020-04-26 16:51:57 +00:00
asset Fixed bug in asset storage. Added support for referrencing existing file. 2020-04-25 17:40:00 -04:00
avatar Displaying avatars on feed for actors. Closes #15 2020-03-04 11:31:03 -05:00
common Removed debug code. 2020-04-25 18:40:42 -04:00
config Implemented groups directory. Closes #67. 2020-04-05 12:50:31 -04:00
errors Generated non-prod code. 2020-04-25 18:41:15 -04:00
examples/linode Updated the linode example to include publisher. Updated the changelog. 2020-03-28 17:23:29 -04:00
fed Implemented group actor inbox. 2020-03-30 10:10:11 -04:00
g Updated user agent link. 2020-03-29 10:38:56 -04:00
janitor Added database:copy command to make it easier to copy/restore database during automated tests. 2020-04-13 16:24:32 -04:00
job Implemented group profile and manage group features. Closes #68. 2020-04-05 12:08:53 -04:00
json Updated json-gold library. 2020-04-08 13:38:18 -04:00
metrics Misc cleanup 2020-04-19 15:10:18 -04:00
migrations Added missing down migration. 2020-04-06 16:52:15 -04:00
public Fixing a bug in jquery and popper source js. Again. Again. Again? 2020-03-27 12:14:39 -04:00
publisher Misc. changes to improve test automation. 2020-04-09 20:14:03 -04:00
scripts Added goreleaser file 2020-03-24 13:36:08 -04:00
start debugging issue with init-admin. 2020-04-09 14:30:51 -04:00
storage Added support for liking notes in the ui. Also implements undo/like activity in user inbox. 2020-04-25 18:41:44 -04:00
templates Added support for liking notes in the ui. Also implements undo/like activity in user inbox. 2020-04-25 18:41:44 -04:00
translations/en Fixed bug in asset storage. Added support for referrencing existing file. 2020-04-25 17:40:00 -04:00
web Added support for liking notes in the ui. Also implements undo/like activity in user inbox. 2020-04-25 18:41:44 -04:00
.dockerignore Adding dockerignore file. 2020-03-30 18:03:41 -04:00
.gitattributes Trying to fix linguist. 2020-03-28 17:11:23 -04:00
.gitignore Updating .gitignore to exclude test environment directory. 2020-04-13 15:37:48 -04:00
.gitlab-ci.yml Adding generate to build phase. 2020-03-24 13:59:06 -04:00
.goreleaser.yml Removing generate from releaser config 2020-03-24 13:38:38 -04:00
CHANGELOG.md Releasing v0.2.1 2020-04-25 17:48:55 -04:00
CONTRIBUTING.md Added contributing document. 2020-03-18 12:21:45 -04:00
Dockerfile Updating build flags and docker build instructions in readme. 2020-04-03 17:55:54 -04:00
FEDERATION.md Correcting old text in federation.md file. 2020-04-03 17:00:06 -04:00
LICENSE initial commit 2020-02-27 10:43:16 -05:00
README.md Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
crowdin.yml Update Crowdin configuration file 2020-04-26 16:51:57 +00:00
docker-compose.yml Misc cleanup 2020-03-26 15:36:12 -04:00
gennonprod.go Refreshed init migrations. Created docker-compose. Added migrations to binary. Added translations to binary. 2020-03-26 10:36:56 -04:00
genprod.go Refreshed init migrations. Created docker-compose. Added migrations to binary. Added translations to binary. 2020-03-26 10:36:56 -04:00
go.mod Fixed bug in asset storage. Added support for referrencing existing file. 2020-04-25 17:40:00 -04:00
go.sum Fixed bug in asset storage. Added support for referrencing existing file. 2020-04-25 17:40:00 -04:00
init.sql Refreshed init migrations. Created docker-compose. Added migrations to binary. Added translations to binary. 2020-03-26 10:36:56 -04:00
main.go Added database:copy command to make it easier to copy/restore database during automated tests. 2020-04-13 16:24:32 -04:00
schema.sql Refreshed init migrations. Created docker-compose. Added migrations to binary. Added translations to binary. 2020-03-26 10:36:56 -04:00

README.md

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.

Roadmap: https://gitlab.com/ngerakines/tavern/-/wikis/Roadmap

Milestones: https://gitlab.com/ngerakines/tavern/-/milestones

Quick Start

The quickest way to get up and running is with docker-compose.

If you are building from source, be sure to run docker-compose build. These instructions assume all of the required configuration is set.

  1. docker-compose up -d db svger
  2. docker-compose run web migrate
  3. docker-compose run web init-service --pem /service.pem
  4. docker-compose run web init-admin --admin-email=nick.gerakines@gmail.com --admin-password=password --admin-name=nick
  5. docker-compose up -d

Contributing

First, please read the CONTRIBUTING document. This project adheres to the contributors covenant, https://www.contributor-covenant.org/.

The build and release process involves code generation in a few ways that aren't obvious.

  1. go generate ./... generates error structures and sources used to bundle files in the compiled binary.
  2. openssl dgst -sha384 -binary the_file.whatever | openssl base64 -A is used to create SRI hashes (integrity="sha384-decafbad") in included CSS and JS files.

The -tags prod argument can be used to indicate prod vs non-prod sources. When the prod flag is not present, asset packages will load content from disk, but will still contain file path references. In other words, whenever you create or delete files including templates, migrations, or translations, you must run go generate ./....

Docker Builds

$ export TAVERN_RELEASE_CODE=$(git describe --always)
$ export TAVERN_GIT_COMMIT=$(git log --format="%H" -n 1)
$ export TAVERN_BUILD_TIME=$(date --rfc-3339=seconds)
$ docker build --build-arg=GIT_COMMIT=$TAVERN_GIT_COMMIT --build-arg=RELEASE_CODE=$TAVERN_RELEASE_CODE --build-arg=BUILD_TIME="$TAVERN_BUILD_TIME" -t ngerakines/tavern:latest  --target=tavern .

License

MIT License

Copyright (c) 2020 Nick Gerakines