A Go based URL shortener, pastebin and file uploader.
Self-host this app for $0.99/mo only!
Short{Paste} is open-source software written in Go and VueJS. It is a minimalistic shortener that combines three things that need shortening: links, files, and text. It is a self-hosted alternative to many popular services like paste bin and using dropbox to send a file to someone quickly.
The Go backend handles saving files, links, and text in DB and filesystem as needed, while the Vue UI provides a pretty view for you to add and review content. Added bonus, it tracks hit counts too!
The whole backend packages to a single binary, and I bundled the app as a docker container based on alpine favored for its tiny size. To run this yourself, execute the command below.
docker run -d \
-p 8080:8080 \
-v ${PWD}/shortpaste/:/root/.shortpaste \
adyanth/shortpaste:latest
The command will publish the application on port 8080, making it available on http://localhost:8080/ and use the bind-mounted folder called shortpaste in your current working directory to save the SQLite DB, the files, and texts published.
If you prefer docker-compose, here is an example deployment.
With docker, you can build this yourself. A Dockerfile is provided at the root of this repository.
It uses a multi-stage build consisting of three stages:
dist folder with resources.dist are copied and served.You can customize the behavior using environment variables. Here is a list of configurable parameters.
| Environment Variable | Default Value | Behaviour |
|---|---|---|
SP_BIND_ADDR |
":8080" |
Sets the bind-address inside the container. |
PORT |
If set, it overrides the SP_BIND_ADDR to use the given port on all interfaces (support for Heroku deployment) |
|
SP_STORAGE_PATH |
"~/.shortpaste" |
Sets the location for saving data inside the container. |
SP_307_REDIRECT |
Setting this to anything causes a 307 redirect to be sent instead of showing the landing page for shortened links. | |
SP_USERNAME |
admin |
Sets the username to login to the UI (only applies to creating resources, links will still work fine) |
SP_PASSWORD |
admin |
Sets the password to login to the UI (only applies to creating resources, links will still work fine) |
SP_NOAUTH |
Setting this to anything bypasses authentication for creating resources. |
Here are some screenshots to get a taste of it, see the demo for more :)
| Type | Create | View |
|---|---|---|
| Links | ![]() |
![]() |
| Text | ![]() |
![]() |
| Files | ![]() |
![]() |
Please login to review this project.
No reviews for this project yet.
URL shortener with REST API and command line interface. Inc…
KISS URL shortener, public or private (with account). Minim…
URL shortener service using Tornado and Redis runs on Docke…
Comments (0)
Please login to join the discussion on this project.