An easy on the eyes, portable, lightning fast pastebin written in Svelte and Rust.
Docker. Both the frontend and backend are to be installed with Docker. You can learn more here.
The following is a guide to get PasteBook running on your system under your domain with SSL. All of this was tested on Ubuntu Linux.
Download docker-compose.yml
here.
Caution
Do not modify docker-compose.yml
. You will break things.
Create a file by the name of .env
in the same directory as docker-compose.yml
. Add the following.
TITLE=
DESCRIPTION=
DISABLE_NEW=
FAVICON_URL=
MAX_PAYLOAD_SIZE=
All of the following are optional. You can leave it all blank, or not even have a .env
file at all.
TITLE
- The title to be used around PasteBook.
DESCRIPTION
- The description to be used in embeds and on the home page of PasteBook.
DISABLE_NEW
- Disables the new paste page. API is still accessible.
FAVICON_URL
- The URL that the favicon will be provided with.
MAX_PAYLOAD_SIZE
- The maximum paste size in megabytes.
Run the following.
sudo systemctl enable docker
sudo docker compose up -d
Awesome! PasteBook is now running.
In order to run PasteBook under a domain, you will need to use a reverse proxy. The following will serve as a guide to setting up Nginx.
- PasteBook is fully installed with the instructions above.
- A working Nginx installation. Learn more here.
- A working Certbot installation. Learn more here.
Navigate to /etc/nginx/sites-enabled
.
You will need to create a DNS A record pointing to your machine with the root and with the api.
prefix. I use CloudFlare.
Download pastebook.conf
here.
<DOMAIN>
- Change this to your domain name. For example, mine is pastebook.dev
.
Run the following, with <DOMAIN>
changed to your domain.
sudo certbot certonly --standalone -d <DOMAIN> -d api.<DOMAIN>
Run the following.
systemctl restart nginx
Run the following commands in succession.
docker compose stop
docker compose pull
docker compose up -d
Wow. There was a lot that can go wrong there. I'm not an expert. If you need help, you can email me at [email protected] or find me elsewhere.
💜