https://github.com/interaapps/pastefy
Pastefy is an feature-rich Open Source self-hostable Pastebin.
https://github.com/interaapps/pastefy
asciinema geojson githubgist-alternative javawebstack markdown mermaid paste pastebin pasting self-hosted vue
Last synced: about 1 month ago
JSON representation
Pastefy is an feature-rich Open Source self-hostable Pastebin.
- Host: GitHub
- URL: https://github.com/interaapps/pastefy
- Owner: interaapps
- License: mit
- Created: 2019-03-23T16:17:00.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-10-15T01:41:13.000Z (5 months ago)
- Last Synced: 2025-10-15T08:47:00.039Z (5 months ago)
- Topics: asciinema, geojson, githubgist-alternative, javawebstack, markdown, mermaid, paste, pastebin, pasting, self-hosted, vue
- Language: Vue
- Homepage: https://pastefy.app
- Size: 19.2 MB
- Stars: 357
- Watchers: 4
- Forks: 58
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-starred - interaapps/pastefy - Pastefy is an Open Source self-hostable Pastebin. (vue)
README

Pastefy is an open source alternative to Gists or Pastebin.
You want to share some code to your friends or just save it for yourself? Just paste it.
Try out the public instance https://pastefy.app
Visit the docs for everything around Pastefy here: https://docs.pastefy.app
## Features
- Raw-Preview
- Copy Button
- Fork
- An API ([Docs](https://docs.pastefy.app/api/))
- [Javascript/Typescript](https://github.com/interaapps/js-api-clients?tab=readme-ov-file#pastefy)
- [Java](https://github.com/interaapps/pastefy-java-apiclient)
- [Go](https://github.com/interaapps/pastefy-go-api)
- Log in
- Folders
- See your created pastes
- delete created pastes
- Create paste with `curl -F f=@file.txt pastefy.app`
- Extensions:
- VS-Code
- Raycast
- Previews for (file extension)
- **[See examples here](https://pastefy.app/EByZpNoS)**
- Markdown (.md)
- Mermaid (.mermaid or .mmd)
- SVG (.svg)
- CSV (.csv)
- GeoJSON (.geojson)
- Diff (.diff)
- calendar (.ics)
- regex (.regex)
- [Asciinema recordings](https://docs.pastefy.app/features/integrations/asciinema.html) (.cast) [(Example)](https://pastefy.app/ar9ehz8w)
# Overview
- [Screenshots](#Screenshots)
- Deploy
- [Docker](https://docs.pastefy.app/self-hosting/installation/docker.html)
- [Docker-Compose](https://docs.pastefy.app/self-hosting/installation/docker-compose.html)
- [Container-Less](#Container-Less)
- [Configuration](https://docs.pastefy.app/self-hosting/configuration.html)
- [Develop](#Develop)
- [API](https://docs.pastefy.app/api/)
# Screenshots

## Deploy
See [Self-Hosting](https://docs.pastefy.app/self-hosting/index.html) for more options.
### Container-Less
```bash
git clone https://github.com/interaapps/pastefy.git
cd pastefy/frontend
npm run install
npm run build
cd ../backend
mvn clean package
cd ..
cp .env.example .env
nano .env
java -jar backend/target/backend.jar
```
Using intelliJ? Look at [Develop](#Develop)
## Configuration
See [Configuration](https://docs.pastefy.app/self-hosting/configuration.html) for all options.
### Adding login
You can choose between [INTERAAPPS](https://accounts.interaapps.de/developers) (best integration), [GOOGLE](https://support.google.com/cloud/answer/6158849?hl=en), [GITHUB](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app), [DISCORD](https://discord.com/developers/docs/topics/oauth2) or [TWITCH](https://dev.twitch.tv/docs/authentication) for the provider (You can use all of them at the same time).
```properties
OAUTH2_${provider}_CLIENT_ID=${client_id}
OAUTH2_${provider}_CLIENT_SECRET=${client_secret}
```
#### Example
```properties
OAUTH2_INTERAAPPS_CLIENT_ID=dan3q9n
OAUTH2_INTERAAPPS_CLIENT_SECRET=ASDFASDF
```
#### Custom OIDC Example
```properties
OAUTH2_CUSTOM_CLIENT_ID=CLIENT_ID
OAUTH2_CUSTOM_CLIENT_SECRET=SECRET
OAUTH2_CUSTOM_AUTH_ENDPOINT=https://accounts.interaapps.de/auth/oauth2
OAUTH2_CUSTOM_TOKEN_ENDPOINT=https://accounts.interaapps.de/api/v2/authorization/oauth2/access_token
OAUTH2_CUSTOM_USERINFO_ENDPOINT=https://accounts.interaapps.de/api/v2/oidc/userinfo
```
## Develop
#### Build frontend into the backend
```bash
# You might want to build the frontend
cd frontend
npm build prod
```
#### Frontend
Run the backend (On port 1337) and then go to the frontend and run
```bash
cd frontend
npm run serve
```
We are using IntelliJ Idea and Visual Studio code.
### API
You can find the docs of the Pastefy-Rest-APi here: [Docs](https://docs.pastefy.app/api/)
## Administration
If you want to give yourself the admin role, you have to log into your MySQL server and set `type` on your account to `ADMIN` in the `pastefy_users` table.
You'll find the admin panel under `https://YOUR_URL/admin`
## Extra Features
Read more here [Docs](https://docs.pastefy.app/features/index.html)
### Upload via Curl
```bash
curl -F f=@file.txt pastefy.app
```
### Asciinema support
configure: `nano ~/.config/asciinema/config`
```
[api]
url = https://pastefy.app
```
Using asciinema
```bash
asciinema rec test.cast
# ...
asciinema upload test.cast
# Authenticate via Pastefy
# Pastefy will request you to set the install-id via `echo YOUR_PASTEFY_API_KEY > ~/.config/asciinema/install-id`
asciinema auth
asciinema upload test.cast
```