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.
Preview
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