Go to file
Nick Gerakines b3f78820d2
Implemented ACLs, added db checks to varchar columns, and cleaned up code.
2020-04-06 10:20:00 -04:00
asset Improving transaction handling and logging. 2020-03-30 17:06:17 -04:00
avatar Displaying avatars on feed for actors. Closes #15 2020-03-04 11:31:03 -05:00
common Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
config Implemented groups directory. Closes #67. 2020-04-05 12:50:31 -04:00
errors Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -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 Misc changes from integration testing. 2020-03-30 18:42:34 -04:00
job Implemented group profile and manage group features. Closes #68. 2020-04-05 12:08:53 -04:00
json Added json ld debug command. Part of #39. 2020-03-19 06:45:23 -04:00
metrics Added publisher command and integrations from server to publisher. Closes #66. 2020-03-27 14:35:28 -04:00
migrations Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
public Fixing a bug in jquery and popper source js. Again. Again. Again? 2020-03-27 12:14:39 -04:00
publisher Added missing sentry flags. 2020-04-03 17:16:11 -04:00
scripts Added goreleaser file 2020-03-24 13:36:08 -04:00
start Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
storage Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
templates Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
translations/en Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -04:00
web Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -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 Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -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 Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -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
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 Improving groups and network manage pages. 2020-04-03 15:25:45 -04:00
go.sum Improving groups and network manage pages. 2020-04-03 15:25:45 -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 Implemented ACLs, added db checks to varchar columns, and cleaned up code. 2020-04-06 10:20:00 -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