~yerinalexey/gobin

ref: 779a0d0f1f3593f63951e569ef6aadd19bad5215 gobin/README.md -rw-r--r-- 1.4 KiB
779a0d0f — Alexey Yerin docs: reword a bit 11 months ago

#GoBin

Simple self-hosted service for sharing text snippets

#Features

  • Totally anonymous, not even IP is logged
  • Dark theme by default
  • JavaScript-free
  • Easy to deploy

#Installation

Two basic requirements are Go compiler (unless you grab built binaries) and PostgreSQL database running.

#Database

Set DATABASE_URI environment variable to postgresql://-URI:

export DATABASE_URI=posgtresql://USER:PASSWORD@localhost/DB
  • USER is your username (postrges is default)
  • PASSWORD is your strong and complicated password
  • DB is your database name (make sure to run create database before running)

#Configuration

If you want to change port on which application is running, set PORT environment variable (4000 is default).

If your application is hosted not on localhost, you should change BASE_URL environment variable to http:// or https:// + your domain (e.g. https://somesite.dev)

export BASE_URL=https://somesite.dev
export PORT=80 # Note: you might need to run gobin as root

#Building

git clone https://git.sr.ht/~yerinalexey/gobin
cd gobin

go build

#Migrations

./gobin-migrate up

If something goes wrong, you can apply migrations manually by running up.sql files in subdirectories of ./migrations.

#Running

./gobin

It's also a good idea to run gobin binary as a system service. Make sure to provide all environment variables.