⚠️ This repository is archived.Tigris has pivoted from this database project to a new, globally distributed S3-compatible object storage service. Learn more about the new product here: https://www.tigrisdata.com/
Adding comments to your blog is a great way to engage with your readers. This repo contains the base Astro starter kit blog template with a few extra features:
- A
newcommentNetlify function to handle saving comments to Tigris - A
Commentscomponent to retrieve and display comments saved to Tigris - A
NewCommentcomponent to submit new comments to the Netlify function
Before starting, create a free Tigris account.
Next, in your Tigris account, create a new project. Then get the client ID and secret from the Application keys tab.
This project uses the @tigrisdata/astro package to handle the Tigris API calls. It then registers the integration in the astro.config.mjs file. Currently, the integration expects to find the following environment variables:
// .env file
TIGRIS_PROJECT={YOUR_TIGRIS_PROJECT_NAME}
TIGRIS_CLIENT_ID={YOUR_TIGRIS_CLIENT_ID}
TIGRIS_CLIENT_SECRET={YOUR_TIGRIS_CLIENT_SECRET}
TIGRIS_DB_BRANCH=mainYou can also forgo a .env file and specify the config in the tigris function within the astro.config.mjs file.
// astro.config.mjs
export default defineConfig({
integrations: [
tigris({
branch: "main",
projectName: "YOUR_TIGRIS_PROJECT_NAME",
clientId: "YOUR_TIGRIS_CLIENT_ID",
clientSecret: "YOUR_TIGRIS_CLIENT_SECRET",
}),
],
});To initialize the collection in your Tigris project, update the following
parameters in the setup.ts file with your Tigris project, client ID, and
client secret.
// setup client
const tigrisClient = new Tigris({
branch: "main",
projectName: "YOUR_TIGRIS_PROJECT_NAME",
clientId: "YOUR_TIGRIS_CLIENT_ID",
clientSecret: "YOUR_TIGRIS_CLIENT_SECRET",
});Then run the following command to set up the collection and schema:
npm run setupNow that you've got your Tigris project and collection set up and have updated your environment, you can run the project locally:
npm run devHave suggestions or want to contribute? Here are a few things we'd love to see:
- Add a honeypot to the
NewCommentcomponent to help prevent spam - Add error checking in the
newcomment.tsfunction
Check out our documentation or jump into our Discord server.
This theme is based off of the lovely Bear Blog.

