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 -d
You 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 redis
Populate the apps/web/.env
file with the required values:
cp apps/web/.env.example apps/web/.env
Note
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 dev
Docker
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 build
This 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.