Skip to main content
50% off all plans, limited time. Starting at $2.48/mo
MicroBin

MicroBin

MicroBin is a small pastebin and file sharing server written in Rust. Share text, files, or shortened URLs with expiry times and optional passwords, no account required. BSD-3-Clause licensed with 4,500+ GitHub stars.

At a glance

4.5k

GitHub stars

1

Page views

License BSD-3-Clause Version Latest OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4

Access

Open the following URL in your browser: https://<SERVER-IP>

Accept the self-signed certificate warning and access MicroBin.

Admin Panel

The administrator interface is available at: https://<SERVER-IP>/admin/

Use the following credentials:

  • Username: admin
  • Password: stored in /usr/share/microbin/.env as MICROBIN_ADMIN_PASSWORD

Configuration

MicroBin settings can be changed in: /usr/share/microbin/.env

After modifying the configuration, restart the application:

cd /usr/share/microbin
docker compose up -d

Important Files & Directories

  • Install Path: /usr/share/microbin
  • Compose File: /usr/share/microbin/compose.yaml
  • Environment File: /usr/share/microbin/.env
  • Data Volume: /var/lib/docker/volumes/microbin_microbin_data
  • Nginx Configuration: /etc/nginx/sites-available/microbin

Service Management

View running containers:

docker compose -f /usr/share/microbin/compose.yaml ps

Restart MicroBin:

docker compose -f /usr/share/microbin/compose.yaml restart

View MicroBin logs:

cd /usr/share/microbin && docker compose logs -f

Stop MicroBin:

docker compose -f /usr/share/microbin/compose.yaml stop

Start MicroBin:

docker compose -f /usr/share/microbin/compose.yaml start

Recreate MicroBin:

docker compose -f /usr/share/microbin/compose.yaml up -d

Check Nginx status:

systemctl status nginx

Restart Nginx:

systemctl restart nginx

Reload Nginx:

systemctl reload nginx

Validate the Nginx configuration:

nginx -t

Enabling HTTPS with a Domain

1. Point your domain to the server IP.

2. Edit /etc/nginx/sites-available/microbin and replace both server_name _; directives with your domain (e.g. server_name yourdomain.com;).

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Obtain a Let's Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Edit /etc/nginx/sites-available/microbin and update the ssl_certificate and ssl_certificate_key directives to use your Let's Encrypt certificate.

Before:
    ssl_certificate /etc/nginx/ssl/microbin.crt;
    ssl_certificate_key /etc/nginx/ssl/microbin.key;
After:
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Reload Nginx to apply the changes:

systemctl reload nginx

7. Edit /usr/share/microbin/.env and update MICROBIN_PUBLIC_PATH from https://<SERVER_IP>/ to your domain (e.g. export MICROBIN_PUBLIC_PATH=https://yourdomain.com/).

8. Recreate the services:

cd /usr/sahre/microbin && docker compose up -d

9. Access MicroBin at https://yourdomain.com.

Notes

  • Recreating the service may affect existing listings.
  • Keep the .env file secure, as it contains sensitive configuration values.

More in Self Hosted

Related apps.

Deploy MicroBin now. From $2.48/mo.