You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+50-25Lines changed: 50 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,26 +2,36 @@
2
2
3
3
> [gobinaries](https://gobinaries.com/) alternative
4
4
5
-
Simply put it's a lot of code that's been picked up from the original [gobinaries](https://github.com/tj/gobinaries)
6
-
and the majority of the reason is that most of the research for the work has been already done there.
5
+
Simply put it's a lot of code that's been picked up from the original
6
+
[gobinaries](https://github.com/tj/gobinaries) and the majority of the reason is
7
+
that most of the research for the work has been already done there.
7
8
8
-
The reason for another repo is that the development on gobinaries has been slow for the past few months / years at this point
9
-
and go has moved up 2 version and people are still waiting for gobinaries to update itself.
9
+
The reason for another repo is that the development on gobinaries has been slow
10
+
for the past few months / years at this point and go has moved up 2 version and
11
+
people are still waiting for gobinaries to update itself.
10
12
11
-
**All credits to [tj](https://github.com/tj) for the idea and the initial implementation.**
13
+
**All credits to [tj](https://github.com/tj) for the idea and the initial
14
+
implementation.**
12
15
13
16
## Why not fork?
14
17
15
-
To keep it short, it's fun to build the arch from scratch, helps you learn.
16
-
Also the mentality of both the authors differ.
18
+
To keep it short, it's fun to build the arch from scratch, helps you learn. Also
19
+
the mentality of both the authors differ.
17
20
18
-
(was easier to start from scratch then remove each blocking thing from the original one)
21
+
(was easier to start from scratch then remove each blocking thing from the
22
+
original one)
19
23
20
-
## Features
24
+
## Highlights
21
25
22
-
-[x] Easy install Script
23
-
-[x] Go Lang 1.17
24
-
-[ ] Binary Build Caching
26
+
- Easy to use - Users don't need go to install your CLI
27
+
- Works with most common package ( Raise an [issue](/issues) if you find it not
28
+
working with something)
29
+
- Self Hostable
30
+
31
+
## Roadmap
32
+
33
+
-[ ] Cache a previously built version binary
34
+
-[ ] Add support for download binaries from existing Github Release artifacts
25
35
26
36
## Authors
27
37
@@ -33,11 +43,17 @@ You can read about it on [https://goblin.run](https://goblin.run)
33
43
34
44
## Deploy your own
35
45
36
-
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.
46
+
Since the entire reason for doing this was that delay on the original
47
+
implementation added a lot more handling and addition of scripts to my website
48
+
deployments than I liked.
37
49
38
-
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)
50
+
I wouldn't want that to happen again, so I really recommend people to spin up
51
+
their own instances if they can afford to do so. If not, you can always use the
52
+
hosted version from me at [goblin.barelyhuman.xyz](https://goblin.run)
39
53
40
-
**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**
54
+
**Note:the original code for gobinaries is equally simple to use and deploy but
55
+
you'll have to make a few tweaks to the original code to make it work in a
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
68
+
1. Setup docker or any other platform that would allow you to build and run
69
+
docker images, if using services like Digital Ocean or AWS, you can use their
70
+
container and docker image specific environments
53
71
2. Build the image
54
72
55
73
```sh
56
74
cd goblin
57
75
docker build -t goblin:latest .
58
76
```
59
77
60
-
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.
78
+
3. And finally push the image to either of the environments as mentioned in
79
+
point 1. If doing it on a personal compute instance, you can just install
80
+
docker, do step 3 and then run the below command.
61
81
62
82
```sh
63
83
docker run -p "3000:3000" goblin:latest
64
84
```
65
85
66
86
#### Using Traditional Servers
67
87
68
-
Let's face it, docker can be heavy and sometimes it's easier to run these apps separately as a simple service.
88
+
Let's face it, docker can be heavy and sometimes it's easier to run these apps
89
+
separately as a simple service.
69
90
70
-
Much like most go lang projects, goblin can be built into a single binary and run on any open port.
91
+
Much like most go lang projects, goblin can be built into a single binary and
92
+
run on any open port.
71
93
72
-
The repo comes with helper scripts to setup an ubuntu server with the required stuff
94
+
The repo comes with helper scripts to setup an ubuntu server with the required
95
+
stuff
73
96
74
97
1. Caddy for server
75
98
2. Go and Node for language support
@@ -81,13 +104,15 @@ You can run it like so
81
104
./scripts/prepare-ubuntu.sh
82
105
```
83
106
84
-
If you already have all the above setup separately, you can modify the build script and run that instead.
107
+
If you already have all the above setup separately, you can modify the build
108
+
script and run that instead.
85
109
86
-
```sh
110
+
```sh
87
111
./scripts/build.sh
88
112
```
89
113
90
-
You'll have to create 2 `.env` files, one inside `www` and one at the root `.env`
114
+
You'll have to create 2 `.env` files, one inside `www` and one at the root
115
+
`.env`
91
116
92
117
```sh
93
118
# .env
@@ -105,8 +130,8 @@ ORIGIN_URL=
105
130
VITE_GOBLIN_ORIGIN_URL=
106
131
```
107
132
108
-
running the `build.sh` should handle building with the needed env files and restarting the server for you.
109
-
133
+
running the `build.sh` should handle building with the needed env files and
0 commit comments