Skip to content

A PasteBin for developers. Created using asp.net core's Blazor framework and leveraging VS Code's monaco-editor

License

Notifications You must be signed in to change notification settings

Cisien/BlazeBin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Issues MIT License Build Status


Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project

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.

Getting Started

Clone and open the project in your favorite IDE/Editor!

Prerequisites

For development:

  1. Install Visual Studio Code, Visual Studio 2019+, or Rider
  2. Install the dotnet 6 preview 7 or higher SDK

For self-hosting:

  1. (Optional) Install Docker
  2. (Optional) Install docker-compose
  3. (Optional) An Azure subscription (to leverage Azure KeyVault and Application Insights)

Installation

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

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Chris Curwick - @Cisien on Discord
Project Link: https://github.com/Cisien/BlazeBin
Policy Documents: https://github.com/BlazeBin/policy

Acknowledgements