tally-ho
A micropub speaking blog.
Although this allows some customisation, it isn't really being built in that
manner. So please fork if you want to use for your own site, as I will probably
change it completely when I get bored of how it works.
Usage
This is an almost all-in-one solution for running an "IndieWeb" blog. To get
running you will need to:
Run go install hawx.me/code/tally-ho@latest, or clone this repo and run go build
Make a directory to put media files in (tally-ho will write files to this
directory but will not serve them)
Create a config file, by default it looks for a file called config.toml
me = "https://john.example.com/"
# the URL tally-ho will be accessed from
baseURL = "https://john.example.com"
# the URL the media directory will be accessed from
mediaURL = "https://media.john.example.com"
[context]
name = "John"
author = "John Doe"
copyright = "© 2025 John D. Doe."
links = [
{ name = "posts", url = "/posts" },
{ name = "info", url = "/info" },
{ name = "etc", url = "/etc" },
]
# each of these blocks can be left out if you don't want to use them
[flickr]
consumerKey = "..."
consumerSecret = "..."
# To get these values you can use the cmd/flickr-credentials tool which uses
# this config file to perform the web authentorization flow.
#
# $ go install hawx.me/code/tally-ho/cmd/flickr-credentials
# $ flickr-credentials -config $PATH_TO_CONFIG
accessToken = "..."
accessTokenSecret = "..."
[github]
clientID = "..."
clientSecret = "..."
# To get this value you can use the cmd/github-credentials tool which uses
# this config file to perform the web authentorization flow.
#
# $ go install hawx.me/code/tally-ho/cmd/github-credentials
# $ github-credentials -config $PATH_TO_CONFIG
accessToken = "..."
Copy the ./web directory somewhere
Then you are ready to run it:
$ tally-ho
--config $PATH_TO_CONFIG_FILE
--web $PATH_TO_WEB_DIR
--media-dir $PATH_TO_MEDIA_DIR
--db ./db.sqlite
It will be listening on http://localhost:8080, this can be changed by passing
--port or --socket. If run as a systemd service then it will detect a
corresponding .socket definition.
To get webmentions for social media posts I recommend setting up
https://brid.gy/, as tally-ho only allows syndicating to Flickr/GitHub and
not gathering responses (yet).
See ./misc for examples of config files for nginx and systemd.
features
Possibly up-to-date feature list:
IndieAuth:
Config:
Posting:
Syndication:
Webmentions:
Display:
Feeds:
Relevant specs: