Grad shape
Grad shape

paaster

Pastebins

About this project

 

Paaster is a secure and user-friendly pastebin application that prioritizes privacy and simplicity. With end-to-end encryption and paste history, Paaster ensures that your pasted code remains confidential and accessible.

Terms of service | Privacy policy

 

Help translate paaster!

Preview

Preview of paaster

Features

  • End-to-end encryption.
  • Memory efficient.
  • File drag & drop.
  • Shortcuts.
  • Paste history.
  • Themes
  • Delete after view or X amount of time.
  • Share via QR code.
  • CLI Tool
  • i18n support (Contribute).
  • Automatic or manual language detection.
  • No dynamically loaded 3rd party dependencies, meaning malicious code must be present at build time.
  • Use of package-lock.json & Socket.dev to fight against supply chain attacks & vulnerabilities.

Deployment

Paaster requires s3 for deployment, you can use a hosted solution or self-host using MinIO.

Docker compose

services:
  paaster:
    container_name: paaster
    image: wardpearce/paaster:latest
    restart: unless-stopped
    ports:
      - 3015:3000
    environment:
      COOKIE_SECRET: "" # A secure random value

      S3_ENDPOINT: ""
      S3_REGION: ""
      S3_ACCESS_KEY_ID: ""
      S3_SECRET_ACCESS_KEY: ""
      S3_BUCKET: ""
      s3_FORCE_PATH_STYLE: true # Required for minio

      MONGO_DB: "paasterv3"
      MONGO_URL: "mongodb://paaster_mongodb:27017"

  paaster_mongodb:
    image: mongo
    container_name: paaster_mongodb
    restart: unless-stopped
    environment:
      MONGODB_DATA_DIR: /data/db
      MONDODB_LOG_DIR: /dev/null

  # Not required if using a host s3 solution
  # Must be reverse proxied so clients can access it
  paaster_minio:
    container_name: paaster_minio
    image: quay.io/minio/minio
    restart: unless-stopped
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: ""
      MINIO_ROOT_PASSWORD: "" # A secure random value
    volumes:
      - ~/minio/data:/data
    command: server /data --console-address ":9001"

Reverse proxy

Caddy

paaster.io {
	reverse_proxy localhost:3016
}

# Only required for Minio
s3.paaster.io {
        header Access-Control-Allow-Origin "https://paaster.io" {
                defer
        }
        header Access-Control-Allow-Methods "GET,POST,OPTIONS,HEAD,PATCH,PUT,DELETE"
        header Access-Control-Allow-Headers "User-Agent,Authorization,Content-Type"
	reverse_proxy localhost:9000
}

NGINX

server {
    listen 80;
    server_name paaster.i
Technologies & License
AGPL-3.0 Docker
Quick Deploy

Deploy this project to cloud platforms with one click