A Go based URL shortener, pastebin and file uploader.
Deploy this app to RackNerd 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.
Dead-simple, super minimal URL shortener in C.
URL shortener service using Tornado and Redis runs on Docke…
KISS URL shortener, public or private (with account). Minim…
Comments (0)
Please login to join the discussion on this project.