microbin Docker & Self-Hosted Deployment

GitHub

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 Compose
1. Pull Image (DOCKERHUB) docker pull danielszabo99/microbin
2. Docker Run (1-Click Launch) docker run -d --name microbin --restart always danielszabo99/microbin:latest
3. Podman Run podman run -d --name microbin --restart always danielszabo99/microbin:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/danielszabo99/microbin:latest
5. ORAS Pull (OCI Artifact) oras pull danielszabo99/microbin:latest
6. Compose Deployment docker compose up -d
compose.yaml
Download .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: