Skip to content
Minimal pastebin alternative with no hard frontend JavaScript dependency
JavaScript CSS Dockerfile Nix
Branch: master
Clone or download
This branch is 45 commits ahead of MKRhere:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update FUNDING.yml Feb 13, 2020
.vscode [docs] Added README and other changes Sep 22, 2018
middleware Code style Feb 27, 2020
model Code style Feb 27, 2020
public Try to fix #MO-3, again Feb 29, 2020
render Show name on mobile Feb 28, 2020
routes Code style Feb 27, 2020
.env.example Rename .example.env to .env.example Aug 27, 2019
.gitignore Ignore package-lock Feb 28, 2020
Dockerfile Add Dockerfile Mar 4, 2020
LICENSE Create LICENSE Sep 22, 2018 update repo URL Mar 29, 2020
app.js [customisation] Added /custom for custom CSS and JavaScript Nov 16, 2018
package.json [add] dotenv for managing environment variables Aug 27, 2019
shell.nix Add shell.nix Feb 27, 2020
shrinkwrap.yaml [dependency] Added highlight.js Sep 23, 2018


A lightweight pastebin/hastebin alternative with no hard frontend JS dependency. Fork of mkr/bin.

Starting the app

You know the drill:

git clone
cd bin
npm install

Start the app with the ENV variables:

  • BIN_MONGO_CSTRING: your Mongo connection string.
  • BIN_PORT: port on which bin should listen to.
BIN_MONGO_CSTRING=mongodb://localhost:27017/bin-store \
	BIN_PORT=4000 \
	npm start

Running in Docker

Memochō supports running inside Docker through the provided Dockerfile. To build the image:

docker build -t mojurasu/memocho:latest --build-arg PORT=4000 --build-arg MONGO_CSTRING=mongodb://localhost:27017/bin-store .

Then run it as you would any other image:

docker run mojurasu/memocho:latest

Customising Memochō

To customise your self-hosted version of Memochō, you can add these two files to /custom at the root directory:

└─ custom
	├─ style.css
	└─ addon.js

A boring note about JavaScript

I wrote mkr/bin because as much as I love JavaScript, I found the heavy clientside JavaScript dependency in hastebin undesirable. I tried to avoid using clientside JavaScript as much as possible, and mkr/bin will work completely fine on JavaScript disabled browsers. The only things that will not work are keybindings and small things that you can live without. mkr/bin also sends nothing back to my server except the data you want to store. I don't process or store anything else on the server. Settings such as toggling the sidebar is stored on the clientside, so if you clear or if you don't persist your localStorage, you'll see that the sidebar will reappear every time you reload. I will not also accept any PR that creates hard JS dependency for the client. Cheers!

You can’t perform that action at this time.