Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


I'm in the middle of rewriting a large amount of micro to be easier to setup and improve some major issues. At the moment you should avoid using micro.

An invite-only file sharing service with support for ShareX. At the moment, consider the current state of micro to be an alpha - there are no guarantees. You can see a preview at


  • ShareX Support
  • Thumbnails
  • Config generation
  • File name preservation
  • Video, image and text previews
  • Syntax highlighting for supported files
  • Deletion URLs
  • Dashboard
  • Permissions
  • Invite links
  • URL Shortening
  • Mobile support
  • EXIF metadata removal
  • Purging of old, large files (config.purge).


Sign In Page Dashboard
Upload Page Text Preview


Before you get started, please keep in mind micro isn't really intended to be self-hosted; setting it up can be tricky and managing it isn't particularly fun. This is a very rough guide to help people that already know what they're doing. If you can't follow along, you should hold off on hosting your own instance until there are better instructions. I'd also recommend you read through the files in /example first to see if you can follow along, because if you can't you're just gonna waste time trying to follow the instructions below.

  1. Install git, docker and docker-compose
  2. Download the files in this repository, git clone
  3. Copy the example configs to the current directory, cp ./micro/example/* ./
  4. Fill out .microrc, Caddyfile and docker-compose.yml. You need to read through each file carefully or you'll risk fucking up your entire micro instance. The comments are important and include information on initial startup and security. Caddy is optional but it will handle encrypting traffic and redirecting insecure requests, so for anything but a test environment you should use it or something similar.
  5. Run docker-compose up -d postgres to start the database.
  6. Run docker-compose run -e DATABASE_URL=postgresql://micro:youshallnotpass@postgres/micro micro prisma db push to create database tables.
  7. Run docker-compose up -d micro to start micro.
  8. Get the startup invite by doing docker-compose logs micro and copying the invite URL that should be somewhere towards the end of the log. Go to that URL to create the first account.


There currently isn't an admin interface, only endpoints that let you do some basic tasks.

  • To create an invite, go to /api/invite and copy the link. Invites are valid for an hour and cannot be revoked once generated.
  • To add a tag to a user, go to /api/user/:id/tags/add/:tag, where :id is the id of the user you want to add the tag to, and :tag is the name of the tag to add.
  • To remove a tag, go to /api/user/:id/tags/remove/:tag. See above for parameters.
  • To delete a user, go to /api/user/:id/delete. This will only delete the user, files they have uploaded will not be removed from disk.


  • Ratelimiting
  • Image width+height should be stored so the image preview doesn't flash while loading.
  • Video thumbnails
  • Markdown previews
  • Paste support
  • Syntax highlighting for Atlas actions
  • Redirects may be broken. Also hosts with no redirect should probably just have it set to the root host, that should allow us to strip some unnecessary code.
  • GIFs should probably be converted to mp4 videos to save space
    • Discord is currently blocking this as they handle embedding videos (and gifs) extremely poorly. Unless the url has "mp4" in it it outright won't embed most of the time.


it's pretty cool and my mum made cookies if you wanna come. might even give you an account on the official instance or help you setup your own 😳 that would be crazy haha 👉👈


A not-so-micro ShareX server with support for thumbnails, deleting uploads and users.








No releases published


No packages published