Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
barelyhuman committed Aug 26, 2023
1 parent 1153caa commit b06fde4
Showing 1 changed file with 50 additions and 25 deletions.
75 changes: 50 additions & 25 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,36 @@

> [gobinaries](https://gobinaries.com/) alternative
Simply put it's a lot of code that's been picked up from the original [gobinaries](https://github.com/tj/gobinaries)
and the majority of the reason is that most of the research for the work has been already done there.
Simply put it's a lot of code that's been picked up from the original
[gobinaries](https://github.com/tj/gobinaries) and the majority of the reason is
that most of the research for the work has been already done there.

The reason for another repo is that the development on gobinaries has been slow for the past few months / years at this point
and go has moved up 2 version and people are still waiting for gobinaries to update itself.
The reason for another repo is that the development on gobinaries has been slow
for the past few months / years at this point and go has moved up 2 version and
people are still waiting for gobinaries to update itself.

**All credits to [tj](https://github.com/tj) for the idea and the initial implementation.**
**All credits to [tj](https://github.com/tj) for the idea and the initial
implementation.**

## Why not fork?

To keep it short, it's fun to build the arch from scratch, helps you learn.
Also the mentality of both the authors differ.
To keep it short, it's fun to build the arch from scratch, helps you learn. Also
the mentality of both the authors differ.

(was easier to start from scratch then remove each blocking thing from the original one)
(was easier to start from scratch then remove each blocking thing from the
original one)

## Features
## Highlights

- [x] Easy install Script
- [x] Go Lang 1.17
- [ ] Binary Build Caching
- Easy to use - Users don't need go to install your CLI
- Works with most common package ( Raise an [issue](/issues) if you find it not
working with something)
- Self Hostable

## Roadmap

- [ ] Cache a previously built version binary
- [ ] Add support for download binaries from existing Github Release artifacts

## Authors

Expand All @@ -33,11 +43,17 @@ You can read about it on [https://goblin.run](https://goblin.run)

## Deploy your own

Since the entire reason for doing this was that delay on the original implementation added a lot more handling and addition of scripts to my website deployments than I liked.
Since the entire reason for doing this was that delay on the original
implementation added a lot more handling and addition of scripts to my website
deployments than I liked.

I wouldn't want that to happen again, so I really recommend people to spin up their own instances if they can afford to do so. If not, you can always use the hosted version from me at [goblin.barelyhuman.xyz](https://goblin.run)
I wouldn't want that to happen again, so I really recommend people to spin up
their own instances if they can afford to do so. If not, you can always use the
hosted version from me at [goblin.barelyhuman.xyz](https://goblin.run)

**Note:the original code for gobinaries is equally simple to use and deploy but you'll have to make a few tweaks to the original code to make it work in a simpler fashion**
**Note:the original code for gobinaries is equally simple to use and deploy but
you'll have to make a few tweaks to the original code to make it work in a
simpler fashion**

Let's start

Expand All @@ -49,27 +65,34 @@ git clone https://github.com/barelyhuman/goblin

#### Using Docker

1. Setup docker or any other platform that would allow you to build and run docker images, if using services like Digital Ocean or AWS, you can use their container and docker image specific environments
1. Setup docker or any other platform that would allow you to build and run
docker images, if using services like Digital Ocean or AWS, you can use their
container and docker image specific environments
2. Build the image

```sh
cd goblin
docker build -t goblin:latest .
```

3. And finally push the image to either of the environments as mentioned in point 1. If doing it on a personal compute instance, you can just install docker, do step 3 and then run the below command.
3. And finally push the image to either of the environments as mentioned in
point 1. If doing it on a personal compute instance, you can just install
docker, do step 3 and then run the below command.

```sh
docker run -p "3000:3000" goblin:latest
```

#### Using Traditional Servers

Let's face it, docker can be heavy and sometimes it's easier to run these apps separately as a simple service.
Let's face it, docker can be heavy and sometimes it's easier to run these apps
separately as a simple service.

Much like most go lang projects, goblin can be built into a single binary and run on any open port.
Much like most go lang projects, goblin can be built into a single binary and
run on any open port.

The repo comes with helper scripts to setup an ubuntu server with the required stuff
The repo comes with helper scripts to setup an ubuntu server with the required
stuff

1. Caddy for server
2. Go and Node for language support
Expand All @@ -81,13 +104,15 @@ You can run it like so
./scripts/prepare-ubuntu.sh
```

If you already have all the above setup separately, you can modify the build script and run that instead.
If you already have all the above setup separately, you can modify the build
script and run that instead.

```sh
```sh
./scripts/build.sh
```

You'll have to create 2 `.env` files, one inside `www` and one at the root `.env`
You'll have to create 2 `.env` files, one inside `www` and one at the root
`.env`

```sh
# .env
Expand All @@ -105,8 +130,8 @@ ORIGIN_URL=
VITE_GOBLIN_ORIGIN_URL=
```

running the `build.sh` should handle building with the needed env files and restarting the server for you.

running the `build.sh` should handle building with the needed env files and
restarting the server for you.

## License

Expand Down

0 comments on commit b06fde4

Please sign in to comment.