This is a minimalistic blog platform for developers. It's based on markdown files and uses GitHub as a storage.
Note
A rewrite of this project with astro is in progress. The legacy version will be kept in the legacy branch.
You can copy the docker-compose.yml file and use the Docker image to quickly spin up a self-hosted instance of the platform.
curl -o docker-compose.yml https://raw.githubusercontent.com/uses-ink/uses.ink/main/docker/docker-compose.prod.yml
docker compose up -dYou can either build the Docker image yourself (why would you do that?) or run the platform directly on your machine, see the Development and Building sections.
This project uses bun as the package manager. It is needed to properly install and patch the dependencies (See Patches).
Make sure to have a redis server running somewhere. You can use the following command to quicly spin up a redis server with docker:
docker run -d --name redis -p 6379:6379 redisPopulate the apps/web/.env file with the required values:
cp apps/web/.env.example apps/web/.envNote
You don't need to set a GITHUB_TOKEN for development. The platform will work without it.
To start the development server, run the following commands:
# Install dependencies
bun install
# Start the development server
bun --cwd apps/web devDocker
To build the Docker image, run the following command:
docker build -f docker/Dockerfile -t uses.ink .Local
To build the project, run the following command:
bun buildThis project uses a patched version of hast-util-sanitize@5.0.1 to allow unknown nodes to be processed through an unknownNodeHandler function. We need this to allow plugins such as remark-frontmatter to pass declarations.
Contributions are welcome! Feel free to open an issue or a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.

