Configuration (Environment Variables and Command Line Arguments)
There is an ever expanding list of customisations built into MicroBin so you can use it the way you want.
Read the following options and if you cannot find what you need, you can always open an issue at our GitHub repository and request a new feature!
MICROBIN_BASIC_AUTH_USERNAME
Require username for HTTP Basic Authentication when visiting the service. If basic auth username is set but basic auth password is not, just leave the password field empty when logging in. You can also just go to https://username:password@yourserver.net or https://username@yourserver.net if password is not set instead of typing into the password Default value: unset
MICROBIN_BASIC_AUTH_PASSWORD
Require password for HTTP Basic Authentication when visiting the service. Will not have any affect unless basic auth username is also set. If basic auth username is set but basic auth password is not, just leave the password field empty when logging in. You can also just go to https://username:password@yourserver.net or https://username@yourserver.net if password is not set instead of typing into the password prompt. Default value: unset
MICROBIN_ADMIN_USERNAME
Enables administrator interface at yourserver.com/admin/ if set, disables it if unset. If admin username is set but admin password is not, just leave the password field empty when logging in. Default value: admin
MICROBIN_ADMIN_PASSWORD
Enables administrator interface at yourserver.com/admin/ if set, disables it if unset. Will not have any affect unless admin username is also set. If admin username is set but admin password is not, just leave the password field empty when logging in. Default value: m1cr0b1n
Please change the administrator username and password if you open your server up to the public.
MICROBIN_EDITABLE
Enables editable pastas. You will still be able to make finalised pastas but there will be an extra checkbox to make your new pasta editable from the pasta list or the pasta view page. Default value: true
MICROBIN_FOOTER_TEXT
Replaces the default footer text with your own. If you want to hide the footer, use the hide footer option instead. Default value: unset
MICROBIN_HIDE_HEADER
Hides the navigation bar on every page. Default value: false
MICROBIN_HIDE_FOOTER
Hides the footer on every page. Default value: false
MICROBIN_HIDE_LOGO
Hides the MicroBin logo from the navigation bar on every page. Default value: false
MICROBIN_NO_LISTING
Disables the /pastalist endpoint, essentially making all pastas private. Default value: 8080 Default value: false
MICROBIN_HIGHLIGHTSYNTAX
Enables syntax highlighting support. When creating a new pasta, a new dropdown selector will be added where you can select your pasta's syntax, or just leave it empty for no highlighting. Default value: true
MICROBIN_PORT
Sets the port for the server will be listening on. Default value: 8080
MICROBIN_BIND
Sets the bind address for the server will be listening on. Both ipv4 and ipv6 are supported. Default value: "0.0.0.0". Example value: "myserver.net", "127.0.0.1".
MICROBIN_PRIVATE
Enables private pastas. Adds a new checkbox to make your pasta private, which then won't show up on the pastalist page. With the URL to your pasta, it will still be accessible. Default value: true
MICROBIN_PURE_HTML
DEPRECATED: Will be removed soon. If you want to change styling (incl. removal), use custom CSS variable instead. Disables main CSS styling, just uses a few in-line stylings for the layout. With this option you will lose dark-mode support. Default value: false
MICROBIN_DATA_DIR
Sets the name of the directory where MicroBin creates its database and stores attachments. Default value: microbin_data
MICROBIN_JSON_DB
Enables storing pasta data (not attachments and files) in a JSON file instead of
the SQLite database.
Default value: false
MICROBIN_PUBLIC_PATH
Add the given public path prefix to all urls. This allows you to host MicroBin behind a reverse proxy on a subpath. Note that MicroBin itself still expects all routes to be as without this option, and thus is unsuited if you are running MicroBin directly. Default value: unset. Example values: https://myserver.com/ or https://192.168.0.10:8080/
You need to set the public path for QR code sharing to work.
MICROBIN_SHORT_PATH
Sets a shortened path to use when the user copies URL from the application. This will also use shorter endpoints, such as /p/ instead if /pasta/. Default value: unset. Example value: https://b.in/
MICROBIN_UPLOADER_PASSWORD=
The password required for uploading, if read-only mode is enabled Default value: unset
MICROBIN_READONLY
If set to true, authentication required for uploading Default value: false
MICROBIN_SHOW_READ_STATS
Enables showing read count on pasta pages. Default value: true
MICROBIN_TITLE
Adds your title of choice to the navigation bar. Default value: unset
MICROBIN_THREADS
Number of workers MicroBin is allowed to have. Increase this to the number of CPU cores you have if you want to go beast mode, but for personal use one worker is enough. Default value: 1.
MICROBIN_GC_DAYS
Sets the garbage collector time limit. Pastas not accessed for N days are removed even if they are set to never expire. Default value: 90. To turn off GC: 0.
MICROBIN_ENABLE_BURN_AFTER
Enables or disables the "Burn after" function Default value: false
MICROBIN_DEFAULT_BURN_AFTER
Sets the default burn after setting on the main screen. Default value: 0. Available expiration options: 1, 10, 100, 1000, 10000, 0 (= no limit)
MICROBIN_WIDE
Changes the maximum width of the UI from 720 pixels to 1080 pixels. Default value: false
MICROBIN_QR
Enables generating QR codes for pastas. Default value: false
This feature requires the public path to also be set.
MICROBIN_ETERNAL_PASTA
Toggles "Never" expiry settings for pastas. Default value: false
MICROBIN_ENABLE_READONLY
Enables "Read-only" uploads. These are unlisted and unencrypted, but can be viewed without password if you have the URL. Editing and removing requires password. Default value: true
MICROBIN_DEFAULT_EXPIRY
Sets the default expiry time setting on the main screen. Default value: 24hour Available expiration options: 1min, 10min, 1hour, 24hour, 1week, never
MICROBIN_NO_FILE_UPLOAD
Disables and hides the file upload option in the UI. Default value: false
MICROBIN_CUSTOM_CSS
Replaced the built-in water.css stylesheet with the URL you provide. Default value: unset. Example value: https://myserver.net/public/mystyle.css
MICROBIN_HASH_IDS
Use short hash strings in the URLs instead of animal names to make URLs shorter.Does not change the underlying data stored, just how pastas are recalled. Default value: false
MICROBIN_ENCRYPTION_CLIENT_SIDE
Enables server-side encryption. This will add private privacy level, where the user sends plain unencrypted data (still secure, because you use HTTPS, right?), but the server sees everything that the user submits, therefore the user does not have complete and absolute protection. Default value: false
MICROBIN_ENCRYPTION_SERVER_SIDE
Enables client-side encryption. This will add the secret privacy level where the user's browser encrypts all data with JavaScript before sending it over to MicroBin, which encrypt the data once again on server side. Default value: false
MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB
Limit the maximum file size users can upload without encryption. Default value: 256.
MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB
Limit the maximum file size users can upload with encryption (more strain on your server than without encryption, so the limit should be lower. Secrets tend to be tiny files usually anyways.) Default value: 2048.
MicroBin will load the served files into the memory, so set this limit to roughly the amount of RAM (or less) you would like the server to use at any time.
MICROBIN_DISABLE_UPDATE_CHECKING=false
Disables the feature that checks for available updates when opening the admin screen. Default value: false
MICROBIN_DISABLE_TELEMETRY=false
Disables telemetry if set to true. Telemetry includes your configuration and helps development. It does not include any sensitive data. Default value: false
MICROBIN_LIST_SERVER
Enables listing your server in the public MicroBin server list. Default value: false