![Gopher](static/img/twitter_header_photo_2.png) Quickly create "pads" and share with others [![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://hub.docker.com/r/justkato/freepad) [![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/justkato) ![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white) [![demo](https://img.shields.io/badge/Demo-Check%20out%20the%20functionality-orange)](https://pad.justkato.me/) ![MariaDB](https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white) # **FreePad** ![Gopher](static/img/demo.gif) **FreePad** is a simple `Go` project to help you juggle temporary notes that you might wanna pass from one device to another, or from a person to another with memorable and easy to communicate online "Pads". The project is absolutely free to use, you can extend the code and even contribute, I am more than happy to be corrected in my horrible beginner code. The current maintainer and creator is `Kato Twofold` ![Gopher](static/img/banner_prerequisites.png) Before getting started there are a couple things you should configure before proceeding, such as the database storage type and a couple limits, now if you really want to you can skip these but it's better to know what you're running as to not wake up with a not-so-nice surprise. ![Gopher](static/img/banner_environment.png) The `.env` file contains all of the available options and you should use it to change those said variables, these are really important to customizing and self hosting this experience for yourself. If you need any help with any setting you can always open an issue over on github and get help from me. If you are barely getting started with hosting your own services, or even Sys admin stuff in general or writing code my suggestion is to just copy `.env` and leave it as is until you get it running with the defaults running fine, afterwards you can play with it a little and who knows, maybe even get to learn something! ![Gopher](static/img/banner_how_to_run.png) ## Docker `(Recommended)` ```bash # Get into a directory to run this mkdir ~/freepad && cd freepad # Copy the latest .env and docker-compose.example.yaml files wget -O docker-compose.yaml https://raw.githubusercontent.com/JustKato/FreePad/master/docker-compose.example.yaml wget -O .env https://raw.githubusercontent.com/JustKato/FreePad/master/.env.example # Edit your docker-compose.yaml and change the DOMAIN_BASE environment variable vim docker-compose.yaml # Edit your .env file and change the variables to your liking vim .env # Run the container docker-compose up # Run the container in the background docker-compose up -d ``` ## Distribution [Downloads here](https://github.com/JustKato/FreePad/releases) ```bash # Get into a directory to run this mkdir ~/freepad && cd freepad # Get the latest distribution from https://github.com/JustKato/FreePad/releases wget -O release.zip https://github.com/JustKato/FreePad/releases/download/main/... # Unzip the release unzip release.zip # Edit the .env file vim ./.env # Run the program ./freepad ``` ## Building ```bash # Clone th erepo git clone https://github.com/JustKato/FreePad.git ~/freepad # Get into the directory cd ~/freepad # Build using the script ./build.sh # Copy the environment variable cp .env dist/ # Go into the program's directory cd dist # Run the program ./freepad ```