karton/README.md
2023-05-04 11:55:43 +02:00

2.2 KiB

Karton

A small, rusty pastebin with URL shortener functionality.

The github repository is a mirror of this gitlab repository.

This is a fork of MicroBin.

Features

  • Animal names (by default) or custom namefiles instead of just hashes (though hashes are an option too!)
  • File and image uploads
  • raw text serving
  • URL shortening
  • QR codes
  • Listing and removing pastas (though currently everyone can do that)
  • Expiration times
  • Editable pastas
  • Syntax highlighting
  • Styling via water.css
  • Customizable endpoints

Installation guide

Karton is available on Docker hub, crates.io and using the nix flake.

The only "officially supported" (I will actively debug and search for the problem) method is the last one using nix flakes.

Installation via the nix flake

Add the repository to your inputs.

	karton.url = "git+https://gitlab.com/obsidianical/microbin.git";
# microbin.nix
{ inputs, config, pkgs, ... }:
{
  environment.systemPackages = [ inputs.karton.defaultPackage."x86_64-linux" ];
  systemd.services.karton = {
    after = [ "network.target" ];
    wantedBy = [ "multi-user.target" ];
    environment = {
	  # set environment variables to configure karton
      KARTON_HASH_IDS = "";
      KARTON_EDITABLE = "";
      KARTON_PRIVATE = "";
      KARTON_HIGHLIGHTSYNTAX = "";
      # adjust this to your domain
      KARTON_PUBLIC_PATH = "https://example.org";
      KARTON_QR = "";
      # configure endpoints to be shorter
      KARTON_URL_EP = "u";
      KARTON_RAW_EP = "r";
      KARTON_PASTA_EP = "p";
    };
    script = "${inputs.karton.defaultPackage."x86_64-linux"}/bin/karton";
    # register a simple systemd service
    serviceConfig = {
      Type = "simple";
      RootDirectory="/";
      WorkingDirectory = "/karton";
    };
  };
}

Contact

This fork of MicroBin was created by Schrottkatze.

Join the matrix room to chat!

Contact me via e-mail at contact@schrottkatze.de.