Postmarks is a bookmarking site that you own yourself and can connect the Fediverse, interacting with other Postmarks sites as well as Mastodon/FireFish/any text-based ActivityPub platform. You can read more about it here:
The site allows the owner to add, edit and delete bookmarks, but only if a valid login is provided. Check the setup below to understand how to do that!
To set your app up:
@username@project-name.glitch.me
identity on the fediverse. NOTE: If you change this later, you will break the connection any existing followers have to your site, they'll have to re-follow the account on its new domain (and depending on the software they're following from, may even prevent them from unfollowing the old URL 😱).env
editor, create a key ADMIN_KEY
and give it a text string as a value. This is your "password" when your browser prompts you, so make it as secure as you need to protect your data.SESSION_SECRET
and generate a random string for its value. This is your session secret, used to generate the hashed version of your session that gets encoded with the cookies used to store your login. If you make this string too easily guessable, you make it easier for someone to hijack your session and gain unauthorized login. Also, if you ever change this string, it will invalidate all existing cookies.PUBLIC_BASE_URL
with the value set to the hostname (the part after the https://) at which you want the project to be accessible.account.json.example
to set your @username
, display name, bio, and avatar. (If you don't set a username, your default actor name will be 'bookmarks', so people will find you on the fediverse @bookmarks@project-name.glitch.me
.)account.json.example
to account.json
, or copy the contents into a new file called account.json
. Whatever username
you have in this file when the project first starts you'll need to retain or else you'll break your followers' connection to this account..env
file in the root of the project.PUBLIC_BASE_URL=<hostname>
to your .env where \<hostname> is the hostname of your instance.ADMIN_KEY=<key>
to your .env where \<key> is the password you'll enter when the browser prompts you, and another line for SESSION_SECRET=<secret>
where \<secret> is a random string used when hashing your session for use in a secure cookie.account.json
in the project root. Copy the contents of account.json.example
into it and edit the values to set your @username
, display name, bio, and avatar. (If you don't set a username, your default actor name will be 'bookmarks', so people will find you on the fediverse @bookmarks@project-name.glitch.me
.)npm run start
via whatever mechanism you choose to use to host this website.Setting MASTODON_ACCOUNT
in the .env
file will cause a link to be added to the Postmarks home page that can be used for verification with your Mastodon account. See the Mastodon documentation for more details.
See CONTRIBUTING.md for more information on how to work with Postmarks' development environment as well as how to submit your changes for review.
Glitch is a friendly community where millions of people come together to build web apps and websites.