microbin Documentation

A secure, configurable file-sharing and URL shortening web app written in Rust.

4,333 stars Rust Rust 1 file ยท ~1,596 tokens #actix#askama#bin#microbin#opensource#paste#pastebin#rust
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy microbin on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name microbin --restart always danielszabo99/microbin:latest
Configured Services & Ports
โš™๏ธ microbin
image: danielszabo99/microbin:latest
๐Ÿ”Œ Ports: ${MICROBIN_PORT}:8080
docker-compose.yml
yaml (docker-compose.yml)
services:
  microbin:
    image: danielszabo99/microbin:latest
    restart: always
    ports:
     - "${MICROBIN_PORT}:8080"
    volumes:
     # Named volume: Docker initialises it from the image with the correct
     # ownership (uid/gid 65532) so the nonroot user can write to it.
     # To use a bind-mount instead, replace the line below with:
     #   - ./microbin-data:/app/microbin_data
     # and ensure the host directory is owned by uid 65532:
     #   mkdir -p ./microbin-data && chown 65532:65532 ./microbin-data
     - microbin_data:/app/microbin_data
    environment:
      MICROBIN_BASIC_AUTH_USERNAME: ${MICROBIN_BASIC_AUTH_USERNAME}
      MICROBIN_BASIC_AUTH_PASSWORD: ${MICROBIN_BASIC_AUTH_PASSWORD}
      MICROBIN_ADMIN_USERNAME: ${MICROBIN_ADMIN_USERNAME}
      MICROBIN_ADMIN_PASSWORD: ${MICROBIN_ADMIN_PASSWORD}
      MICROBIN_EDITABLE: ${MICROBIN_EDITABLE}
      MICROBIN_FOOTER_TEXT: ${MICROBIN_FOOTER_TEXT}
      MICROBIN_HIDE_FOOTER: ${MICROBIN_HIDE_FOOTER}
      MICROBIN_HIDE_HEADER: ${MICROBIN_HIDE_HEADER}
      MICROBIN_HIDE_LOGO: ${MICROBIN_HIDE_LOGO}
      MICROBIN_NO_LISTING: ${MICROBIN_NO_LISTING}
      MICROBIN_HIGHLIGHTSYNTAX: ${MICROBIN_HIGHLIGHTSYNTAX}
      MICROBIN_BIND: ${MICROBIN_BIND}
      MICROBIN_PRIVATE: ${MICROBIN_PRIVATE}
      MICROBIN_PURE_HTML: ${MICROBIN_PURE_HTML}
      MICROBIN_DATA_DIR: ${MICROBIN_DATA_DIR}
      MICROBIN_JSON_DB: ${MICROBIN_JSON_DB}
      MICROBIN_PUBLIC_PATH: ${MICROBIN_PUBLIC_PATH}
      MICROBIN_SHORT_PATH: ${MICROBIN_SHORT_PATH}
      MICROBIN_READONLY: ${MICROBIN_READONLY}
      MICROBIN_UPLOADER_PASSWORD: ${MICROBIN_UPLOADER_PASSWORD}
      MICROBIN_SHOW_READ_STATS: ${MICROBIN_SHOW_READ_STATS}
      MICROBIN_TITLE: ${MICROBIN_TITLE}
      MICROBIN_THREADS: ${MICROBIN_THREADS}
      MICROBIN_GC_DAYS: ${MICROBIN_GC_DAYS}
      MICROBIN_ENABLE_BURN_AFTER: ${MICROBIN_ENABLE_BURN_AFTER}
      MICROBIN_DEFAULT_BURN_AFTER: ${MICROBIN_DEFAULT_BURN_AFTER}
      MICROBIN_WIDE: ${MICROBIN_WIDE}
      MICROBIN_QR: ${MICROBIN_QR}
      MICROBIN_ETERNAL_PASTA: ${MICROBIN_ETERNAL_PASTA}
      MICROBIN_ENABLE_READONLY: ${MICROBIN_ENABLE_READONLY}
      MICROBIN_DEFAULT_EXPIRY: ${MICROBIN_DEFAULT_EXPIRY}
      MICROBIN_NO_FILE_UPLOAD: ${MICROBIN_NO_FILE_UPLOAD}
      MICROBIN_CUSTOM_CSS: ${MICROBIN_CUSTOM_CSS}
      MICROBIN_HASH_IDS: ${MICROBIN_HASH_IDS}
      MICROBIN_ENCRYPTION_CLIENT_SIDE: ${MICROBIN_ENCRYPTION_CLIENT_SIDE}
      MICROBIN_ENCRYPTION_SERVER_SIDE: ${MICROBIN_ENCRYPTION_SERVER_SIDE}
      MICROBIN_DEFAULT_PRIVACY: ${MICROBIN_DEFAULT_PRIVACY}
      MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB: ${MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB}
      MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB: ${MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB}
      MICROBIN_DISABLE_UPDATE_CHECKING: ${MICROBIN_DISABLE_UPDATE_CHECKING}
      MICROBIN_DISABLE_TELEMETRY: ${MICROBIN_DISABLE_TELEMETRY}
      MICROBIN_LIST_SERVER: ${MICROBIN_LIST_SERVER}

volumes:
  microbin_data:

Technical Documentation: szabodanika/microbin

โ„น๏ธ Provenance: Hybrid Fusion: szabodanika/microbin (README + 1 In-Tree Chapters) ยท CodeWiki Reference ยท Recency: Active (< 180 days)

1. Project Overview & Quickstart (szabodanika/microbin)

MicroBin



MicroBin is a super tiny, feature-rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage. It takes only a couple minutes to set it up, why not give it a try now?

Get your own MicroBin server at [my.microbin.eu](https://my.microbin.eu)!

Test MicroBin at pub.microbin.eu!

Or host MicroBin yourself

Run our quick docker setup script (DockerHub):

bash
bash <(curl -s https://microbin.eu/docker.sh)

Or install it manually from Cargo:

bash
cargo install microbin;
curl -L -O https://raw.githubusercontent.com/szabodanika/microbin/master/.env;
source .env;
microbin

On our website microbin.eu, you will find the following:

Features

  • Entirely self-contained executable, MicroBin is a single file!
  • Server-side and client-side E2E encryption
  • File uploads (e.g. server.com/file/pig-dog-cat)
  • Raw text serving (e.g. server.com/raw/pig-dog-cat)
  • QR code support
  • URL shortening and redirection
  • Animal names instead of random numbers for upload identifiers (64 animals)
  • Multiple attachments
  • SQLite and JSON database support
  • Private and public, editable and uneditable, automatically and never expiring uploads
  • Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see water.css)
  • And much more!

What is an upload?

In MicroBin, an upload can be:

  • A text that you want to paste from one machine to another, e.g. some code,
  • Files that you want to share, e.g. a video that is too large for Discord, a zip with a code project in it or an image,
  • A URL redirection.

When is MicroBin useful?

You can use MicroBin:

  • To send long texts to other people,
  • To send large files to other people,
  • To share secrets or sensitive documents securely,
  • As a URL shortener/redirect service,
  • To serve content on the web, eg . configuration files for testing, images, or any other file content using the Raw functionality,
  • To move files between your desktop and a server you access from the console,
  • As a "postbox" service where people can upload their files or texts, but they cannot see or remove what others sent you,
  • Or even to take quick notes.

...and many other things, why not get creative?

MicroBin and MicroBin.eu are available under the BSD 3-Clause License.

2. In-Tree Documentation Chapters (szabodanika/microbin)

MicroBin



MicroBin is a super tiny, feature-rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage. It takes only a couple minutes to set it up, why not give it a try now?

Get your own MicroBin server at [my.microbin.eu](https://my.microbin.eu)!

Test MicroBin at pub.microbin.eu!

Or host MicroBin yourself

Run our quick docker setup script (DockerHub):

bash
bash <(curl -s https://microbin.eu/docker.sh)

Or install it manually from Cargo:

bash
cargo install microbin;
curl -L -O https://raw.githubusercontent.com/szabodanika/microbin/master/.env;
source .env;
microbin

On our website microbin.eu, you will find the following:

Features

  • Entirely self-contained executable, MicroBin is a single file!
  • Server-side and client-side E2E encryption
  • File uploads (e.g. server.com/file/pig-dog-cat)
  • Raw text serving (e.g. server.com/raw/pig-dog-cat)
  • QR code support
  • URL shortening and redirection
  • Animal names instead of random numbers for upload identifiers (64 animals)
  • Multiple attachments
  • SQLite and JSON database support
  • Private and public, editable and uneditable, automatically and never expiring uploads
  • Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see water.css)
  • And much more!

What is an upload?

In MicroBin, an upload can be:

  • A text that you want to paste from one machine to another, e.g. some code,
  • Files that you want to share, e.g. a video that is too large for Discord, a zip with a code project in it or an image,
  • A URL redirection.

When is MicroBin useful?

You can use MicroBin:

  • To send long texts to other people,
  • To send large files to other people,
  • To share secrets or sensitive documents securely,
  • As a URL shortener/redirect service,
  • To serve content on the web, eg . configuration files for testing, images, or any other file content using the Raw functionality,
  • To move files between your desktop and a server you access from the console,
  • As a "postbox" service where people can upload their files or texts, but they cannot see or remove what others sent you,
  • Or even to take quick notes.

...and many other things, why not get creative?

MicroBin and MicroBin.eu are available under the BSD 3-Clause License.

--- METRICS ---