# Configuration for Microbin setup

# Name of the big-bear-microbin application
name: big-bear-microbin
# Service definitions for the big-bear-microbin application
services:
  # Service name: big-bear-microbin
  # The `big-bear-microbin` service definition
  big-bear-microbin:
    # Environment variables
    environment:
      # Microbin admin username and password
      MICROBIN_ADMIN_USERNAME: "admin"
      # Admin password for /admin/ (default: m1cr0b1n)
      MICROBIN_ADMIN_PASSWORD: "password"
      # Allow editing pastas (default: true)
      MICROBIN_EDITABLE: "true"
      # Custom footer text (optional)
      MICROBIN_FOOTER_TEXT: ""
      # Hide header (default: false)
      MICROBIN_HIDE_HEADER: "false"
      # Hide footer (default: false)
      MICROBIN_HIDE_FOOTER: "false"
      # Hide logo (default: false)
      MICROBIN_HIDE_LOGO: "false"
      # Disable /pastalist endpoint (default: false)
      MICROBIN_NO_LISTING: "false"
      # Enable syntax highlighting (default: true)
      MICROBIN_HIGHLIGHTSYNTAX: "true"
      # Server port (default: 8080)
      MICROBIN_PORT: "8080"
      # Bind address (default: 0.0.0.0)
      MICROBIN_BIND: "0.0.0.0"
      # Enable private pastas (default: true)
      MICROBIN_PRIVATE: "true"
      # Use pure HTML, disables main CSS (default: false)
      MICROBIN_PURE_HTML: "false"
      # Data directory (default: microbin_data)
      MICROBIN_DATA_DIR: "microbin_data"
      # Use JSON DB (default: false)
      MICROBIN_JSON_DB: "false"
      # Public path prefix (optional)
      MICROBIN_PUBLIC_PATH: ""
      # Short path for URLs (optional)
      MICROBIN_SHORT_PATH: ""
      # Uploader password (optional)
      MICROBIN_UPLOADER_PASSWORD: ""
      # Read-only mode (default: false)
      MICROBIN_READONLY: "false"
      # Show read stats (default: true)
      MICROBIN_SHOW_READ_STATS: "true"
      # Custom title (optional)
      MICROBIN_TITLE: ""
      # Number of worker threads (default: 1)
      MICROBIN_THREADS: "1"
      # GC days (default: 90)
      MICROBIN_GC_DAYS: "90"
      # Enable burn-after-reading (default: true)
      MICROBIN_ENABLE_BURN_AFTER: "true"
      # Default burn-after value (default: 0)
      MICROBIN_DEFAULT_BURN_AFTER: "0"
      # Wide UI (default: false)
      MICROBIN_WIDE: "false"
      # Enable QR codes (default: true)
      MICROBIN_QR: "true"
      # Enable eternal pastas (default: false)
      MICROBIN_ETERNAL_PASTA: "false"
      # Enable read-only uploads (default: true)
      MICROBIN_ENABLE_READONLY: "true"
      # Default expiry (default: 24hour)
      MICROBIN_DEFAULT_EXPIRY: "24hour"
      # Disable file upload (default: false)
      MICROBIN_NO_FILE_UPLOAD: "false"
      # Custom CSS URL (optional)
      MICROBIN_CUSTOM_CSS: ""
      # Use hash IDs for URLs (default: false)
      MICROBIN_HASH_IDS: "false"
      # Enable client-side encryption (default: true)
      MICROBIN_ENCRYPTION_CLIENT_SIDE: "true"
      # Enable server-side encryption (default: true)
      MICROBIN_ENCRYPTION_SERVER_SIDE: "true"
      # Max file size with encryption (default: 256)
      MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB: "256"
      # Max file size without encryption (default: 2048)
      MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB: "2048"
      # Disable update checking (default: false)
      MICROBIN_DISABLE_UPDATE_CHECKING: "false"
      # Disable telemetry (default: false)
      MICROBIN_DISABLE_TELEMETRY: "false"
      # List server publicly (default: false)
      MICROBIN_LIST_SERVER: "false"
    # Image to be used for the container
    image: danielszabo99/microbin:2.1.4
    # Ports mapping between host and container
    ports:
      - "8888:8080"
    # Container restart policy
    restart: unless-stopped
    # Volumes to be mounted to the container
    volumes:
      - /DATA/AppData/$AppID/data:/app/microbin_data
    # Name of the container
    container_name: "big-bear-microbin"
    x-casaos:
      envs:
        - container: MICROBIN_ADMIN_USERNAME
          description:
            en_us: 'Container Variable: MICROBIN_ADMIN_USERNAME'
        - container: MICROBIN_ADMIN_PASSWORD
          description:
            en_us: 'Container Variable: MICROBIN_ADMIN_PASSWORD'
        - container: MICROBIN_EDITABLE
          description:
            en_us: 'Container Variable: MICROBIN_EDITABLE'
        - container: MICROBIN_FOOTER_TEXT
          description:
            en_us: 'Container Variable: MICROBIN_FOOTER_TEXT'
        - container: MICROBIN_HIDE_HEADER
          description:
            en_us: 'Container Variable: MICROBIN_HIDE_HEADER'
        - container: MICROBIN_HIDE_FOOTER
          description:
            en_us: 'Container Variable: MICROBIN_HIDE_FOOTER'
        - container: MICROBIN_HIDE_LOGO
          description:
            en_us: 'Container Variable: MICROBIN_HIDE_LOGO'
        - container: MICROBIN_NO_LISTING
          description:
            en_us: 'Container Variable: MICROBIN_NO_LISTING'
        - container: MICROBIN_HIGHLIGHTSYNTAX
          description:
            en_us: 'Container Variable: MICROBIN_HIGHLIGHTSYNTAX'
        - container: MICROBIN_PORT
          description:
            en_us: 'Container Variable: MICROBIN_PORT'
        - container: MICROBIN_BIND
          description:
            en_us: 'Container Variable: MICROBIN_BIND'
        - container: MICROBIN_PRIVATE
          description:
            en_us: 'Container Variable: MICROBIN_PRIVATE'
        - container: MICROBIN_PURE_HTML
          description:
            en_us: 'Container Variable: MICROBIN_PURE_HTML'
        - container: MICROBIN_DATA_DIR
          description:
            en_us: 'Container Variable: MICROBIN_DATA_DIR'
        - container: MICROBIN_JSON_DB
          description:
            en_us: 'Container Variable: MICROBIN_JSON_DB'
        - container: MICROBIN_PUBLIC_PATH
          description:
            en_us: 'Container Variable: MICROBIN_PUBLIC_PATH'
        - container: MICROBIN_SHORT_PATH
          description:
            en_us: 'Container Variable: MICROBIN_SHORT_PATH'
        - container: MICROBIN_UPLOADER_PASSWORD
          description:
            en_us: 'Container Variable: MICROBIN_UPLOADER_PASSWORD'
        - container: MICROBIN_READONLY
          description:
            en_us: 'Container Variable: MICROBIN_READONLY'
        - container: MICROBIN_SHOW_READ_STATS
          description:
            en_us: 'Container Variable: MICROBIN_SHOW_READ_STATS'
        - container: MICROBIN_TITLE
          description:
            en_us: 'Container Variable: MICROBIN_TITLE'
        - container: MICROBIN_THREADS
          description:
            en_us: 'Container Variable: MICROBIN_THREADS'
        - container: MICROBIN_GC_DAYS
          description:
            en_us: 'Container Variable: MICROBIN_GC_DAYS'
        - container: MICROBIN_ENABLE_BURN_AFTER
          description:
            en_us: 'Container Variable: MICROBIN_ENABLE_BURN_AFTER'
        - container: MICROBIN_DEFAULT_BURN_AFTER
          description:
            en_us: 'Container Variable: MICROBIN_DEFAULT_BURN_AFTER'
        - container: MICROBIN_WIDE
          description:
            en_us: 'Container Variable: MICROBIN_WIDE'
        - container: MICROBIN_QR
          description:
            en_us: 'Container Variable: MICROBIN_QR'
        - container: MICROBIN_ETERNAL_PASTA
          description:
            en_us: 'Container Variable: MICROBIN_ETERNAL_PASTA'
        - container: MICROBIN_ENABLE_READONLY
          description:
            en_us: 'Container Variable: MICROBIN_ENABLE_READONLY'
        - container: MICROBIN_DEFAULT_EXPIRY
          description:
            en_us: 'Container Variable: MICROBIN_DEFAULT_EXPIRY'
        - container: MICROBIN_NO_FILE_UPLOAD
          description:
            en_us: 'Container Variable: MICROBIN_NO_FILE_UPLOAD'
        - container: MICROBIN_CUSTOM_CSS
          description:
            en_us: 'Container Variable: MICROBIN_CUSTOM_CSS'
        - container: MICROBIN_HASH_IDS
          description:
            en_us: 'Container Variable: MICROBIN_HASH_IDS'
        - container: MICROBIN_ENCRYPTION_CLIENT_SIDE
          description:
            en_us: 'Container Variable: MICROBIN_ENCRYPTION_CLIENT_SIDE'
        - container: MICROBIN_ENCRYPTION_SERVER_SIDE
          description:
            en_us: 'Container Variable: MICROBIN_ENCRYPTION_SERVER_SIDE'
        - container: MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB
          description:
            en_us: 'Container Variable: MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB'
        - container: MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB
          description:
            en_us: 'Container Variable: MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB'
        - container: MICROBIN_DISABLE_UPDATE_CHECKING
          description:
            en_us: 'Container Variable: MICROBIN_DISABLE_UPDATE_CHECKING'
        - container: MICROBIN_DISABLE_TELEMETRY
          description:
            en_us: 'Container Variable: MICROBIN_DISABLE_TELEMETRY'
        - container: MICROBIN_LIST_SERVER
          description:
            en_us: 'Container Variable: MICROBIN_LIST_SERVER'
      volumes:
        - container: /app/microbin_data
          description:
            en_us: 'Container Path: /app/microbin_data'
      ports:
        - container: "8080"
          description:
            en_us: 'Container Port: 8080'
x-casaos:
  # Supported CPU architectures for this application
  architectures:
    - amd64
    - arm64
  # Main service for this application
  main: big-bear-microbin
  # Detailed description for the application
  description:
    en_us: Self-hosted, encrypted pastebin alternative with configurable features.
  # Brief tagline for the application
  tagline:
    en_us: Pastebin alternative with encryption
  # Developer's information
  developer: danielszabo99
  # Author of this particular configuration
  author: BigBearTechWorld
  # Icon URL for the application
  icon: https://cdn.jsdelivr.net/gh/szabodanika/microbin@v2.0.4/templates/assets/logo-square.png
  # Thumbnail image for the application (if any)
  thumbnail: ""
  # Installation tips
  tips:
    before_install:
      en_us: |
        For a full list of Microbin environment variables and their meanings, see:
        https://github.com/szabodanika/microbin/blob/master/.env
  # Title for the application
  title:
    en_us: Microbin
  # Category under which the application falls
  category: BigBearCasaOS
  # Default port mapping for the application
  port_map: "8888"
