Table of Contents
BlazeBin is a pastebin service that was created to address several shortcomings in current offerings. These range from limited UIs, a bad editing experience, only being able to post a single file at a time, etc. BlazeBin addresses these by leveraging monaco-editor to handle syntax hilighting and editing. BlazeBin supports bundling multiple files together to aid in context when sharing issues. BlazeBin is privacy and safety focused! It will never display ads or collect user data for any purpose other than to monitor and improve the site. Enabling your browser's Do Not Track header is all that's required to opt-out of this simple telemetry! (see blazebin.io's privacy docs for more detial.
Clone and open the project in your favorite IDE/Editor!
For development:
- Install Visual Studio Code, Visual Studio 2019+, or Rider
- Install the dotnet 6 preview 7 or higher SDK
For self-hosting:
- (Optional) Install Docker
- (Optional) Install docker-compose
- (Optional) An Azure subscription (to leverage Azure KeyVault and Application Insights)
The best and easiest way to host BlazeBin yourself is to run the docker container. This container does not handle SSL, so you will want to front it with nginx either in another container, or as a standalone server.
Command line:
Note: as an alternative to mounting the appsettings.json file, you can provide a .env file with your setting overrides. the env var name will be of the format BLAZEBIN_[SECTION]__[SETTING]=value
. Example: BLAZEBIN_GROOMING__ENABLED=true
docker run -d -v ~/appsettings.json:/app/appsettings.production.json -v ~/data:/app/data --memory 500M --cpus 2 -p 80:80 -e ASPNETCORE_URLS=http://+:80 ghcr.io/cisien/blazebin:latest
Docker Compose:
version: '3.7'
services:
repl:
image: ghcr.io/cisien/blazebin:latest
restart: always
environment:
- ASPNETCORE_URLS=http://+:80
ports:
- '80:80'
volumes:
- data:/app/data
volumes:
- data
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Chris Curwick - @Cisien on Discord
Project Link: https://github.com/Cisien/BlazeBin
Policy Documents: https://github.com/BlazeBin/policy