Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/masterevarior/cocopasty

✍️A small copy-and-paste app for selfhosting
https://github.com/masterevarior/cocopasty

docker docker-compose golang mit-license redis selfhosted vuejs vuejs3

Last synced: 2 months ago
JSON representation

✍️A small copy-and-paste app for selfhosting

Awesome Lists containing this project

README

        

logo

Cocopasty




A simple copy-and-paste app to selfhost





contributors


last update


forks


stars


open issues


license




Report Bug
·
Request Feature



# Table of Contents

- [About the Project](#about-the-project)
* [Screenshots](#screenshots)
* [Tech Stack](#tech-stack)
* [Features](#features)
- [Getting Started](#getting-started)
* [Configuration](#configuration)
* [Prerequisites](#prerequisites)
* [Run Locally](#run-locally)
* [Deployment](#deployment)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [FAQ](#faq)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)

## About the Project
Cocopasty is a small and simply copy-and-paste solution for your code. Paste your code in your browser and copy it on another device!

### Screenshots


screenshot

### Tech Stack

Client

Server

Database

DevOps

### Features

- So simple, your pet rock could use it
- 150+ available languages
- Autodetect languages with [highlight.js](https://highlightjs.org)
- Completely dockerized

## Getting Started

### Prerequisites
You need to have Go, Docker, Docker Compose and NPM installed to run/develop this project.

### Configuration
Explanations for the different environment variables. Examples can be found in the docker-compose.yml files.

#### Frontend
- `VUE_APP_BACKEND_PORT` is the port your cocopasty-backend container runs.
- `VUE_APP_BACKEND_HOST` is the host of your cocopasty-backend container.

#### Backend
- `LOG_LEVEL` the log level you wish to use. Default is "info". All log levels can be found [here](https://github.com/Sirupsen/logrus#level-logging).
- `REDIS_HOST` is the host + port of your Redis DB.
- `REDIS_PASSWORD` if your Redis instance uses password authentication, set here your password. If left empty, authentication without password will be tried.

### Run Locally

Clone the project

```bash
git clone https://https://github.com/MasterEvarior/cocopasty.git
```

Go to the project directory

```bash
cd cocopasty
```

Run with Docker Compose

```bash
docker-compose up
```

### Deployment

#### Docker Compose
To deploy this project copy the contents of the [docker-compose-deploy.yml](https://github.com/MasterEvarior/cocopasty/blob/main/docker-compose-deploy.yml) file and paste it into a new file.

```bash
wget https://raw.githubusercontent.com/MasterEvarior/cocopasty/main/docker-compose-deploy.yml
```
Change the ports, volumes, etc. to your liking.
```bash
vi docker-compose-deploy.yml
```

Rename the file and run it with Docker Compose.
```bash
mv docker-compose-deploy.yml docker-compose.yml
docker-compose up
```

## Roadmap
Feel free to suggest features through a GitHub issue, in addition to the ones listed below:
- [ ] Backend tests
- [ ] Frontend tests
- [ ] Installation instructions for Unraid
- [ ] CI/CD with GitHub-Actions
- [X] Automatically update Changelog for dependency updates
- [ ] Automatic releases
- [ ] Run tests

## Contributing
Contributions are always welcome!

## FAQ

- Is there an official method to install WITHOUT Docker?

+ No

- Is there any sort of build in authentication?

+ No, though you could use something like [Authelia](https://www.authelia.com/docs/)

- Can I use this to copy my API-Keys etc. from one device to another?

+ You can but I'd strongly advise against it

- Which languages are available for auto-highligting?

+ A complete list can be found [here](https://highlightjs.readthedocs.io/en/latest/supported-languages.html)

- Can I use this with my already existing Redis instance?

+ Sure, you just have to adjust the compose file to your liking

- Does the default compose file configure Redis to be persistent?

+ No

## License

Distributed under the MIT License. See the LICENSE file for more information.

## Contact

Email: [email protected]

Project Link: [https://github.com/MasterEvarior/cocopasty](https://github.com/MasterEvarior/cocopasty)

## Acknowledgements

Cool projects which make Cocopasty possible

- [Shields.io](https://shields.io/)
- [Awesome Readme Template](https://github.com/Louis3797/awesome-readme-template)
- [highlight.js](https://highlightjs.org)
- [Vue Prism Editor](https://github.com/koca/vue-prism-editor)
- [Guide to Vue.js + Docker env variables](https://medium.com/js-dojo/vue-js-runtime-environment-variables-807fa8f68665)
- [CSS Button Generator](https://www.bestcssbuttongenerator.com)