SkillAgentSearch skills...

Tiddi

⌘Tiddi⌘ is self hosted object store server written in go

Install / Use

/learn @KunalSin9h/Tiddi
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <h3>Powered by</h3> <div style="display: flex; justify-content: center;"> <a href="https://turso.tech/"> <img width="230px" src="https://i.imgur.com/jg5epki.png" alt="TursoDB Logo"> </a> &nbsp; &nbsp; <a href="https://github.com/meltred/meltcd"> <img width="220px" src="https://i.imgur.com/S3kHtNI.png" alt="MeltCD Logo"> </a> </div> </div>

Supports: all type of files

Demo

Go to https://tiddi.kunalsin9h.com to see a demo of the project.

Features (API)

  • [x] Upload files
  • [x] View files
  • [x] Delete files
  • [x] Update files
  • [x] Get image details

Setup Locally

[!IMPORTANT] If you want to run the server inside a docker container, you can follow these Docker Instructions

[!IMPORTANT] If you want to run the server using Meltcd then you can follow these Meltcd Instructions

Prerequisites

  • Go (latest version recommended)
  • SQLite (latest version recommended)
  • LibSQL An SQLite3 Fork

Steps

  1. Clone the repo
git clone https://github.com/kunalsin9h/tiddi.git
  1. Change the working directory
cd tiddi
  1. Run the server
go run cmd/main.go
  1. Open http://localhost:5656 in your browser

Environment Variables

You can set the following environment variables to change the default settings of the server.

| Environment Variable | Default Value | Description | | :------------------- | :----------------------- | :-------------------------------- | | PORT | 5656 | Port on which the server will run | | DB | file:./database/dev.db | URL to the database file | | HOST | localhost | Host on which the server will run |

Example

export PORT=8080

# DB can be sqlite file or libsql url
export DB=file:./database/prod.db
# alternatively for libsql
export DB=libsql://my-db.tarso.io?authToken=autotoken

export HOST=https://tiddi.kunalsin9h.com

go run cmd/main.go

The HOST environment variable is used to generate the unique image id of the image, it is recommended to set it to the domain name of the server. HOST is also used in the sample frontend to fetch the image from the server.

API Docs

Sample Client

The Sample Frontend is available at ./cmd/frontend directory, it is served by the server at / route.

GET /

Upload Image

POST /image/

Request:

{
  "image": [23, 112, 2,...34],
  "title": "Image Title"
}

| Parameter | Type | Description | | :-------- | :------- | :---------------------------------- | | image | []byte | Required. Image bytes to upload | | title | string | Optional. Title of the image |

Response:

{
  "url": "Unique URL of the image"
}

View Image

GET /{uiid}

Image with uiid is served at this route

Get Image Details

GET /get-image/{uuid}

| Parameter | Type | Description | | :-------- | :------- | :------------------------------ | | uiid | string | Required. UIID of the image |

Response:

{
  "title": "Image Title",
  "image": "Base64 Encoded Image"
}

UIID is the unique image id of the image, it is generated by the server and is returned when the image is uploaded.

Delete Image

DELETE /delete-image/

| Parameter | Type | Description | | :-------- | :------- | :------------------------------ | | uiid | string | Required. UIID of the image |

Update Image

PUT /update-image/

| Parameter | Type | Description | | :-------- | :------- | :---------------------------------- | | uiid | string | Required. UIID of the image | | image | []byte | Optional. Image bytes to upload | | title | string | Optional. Title of the image |

Tech Stack

Client: HTML, CSS, JavaScript

Server: Go, SQLite

Authors

License

MIT

Acknowledgements

Support

For support, email kunal@kunalsin9h.com

Feedback

If you have any feedback, please reach out to us at kunal@kunalsin9h.com

Contributing

Contributions are always welcome!

Enjoy! 🚀

View on GitHub
GitHub Stars18
CategoryData
Updated2mo ago
Forks1

Languages

Go

Security Score

95/100

Audited on Jan 14, 2026

No findings