@@ -13,17 +13,33 @@ Standard plugins provided include:
13
13
- [ __ nginx__ ] ( pkg/handler/nginx ) to manage a running nginx reverse proxy
14
14
instance;
15
15
- [ __ static__ ] ( pkg/handler/static/ ) to serve static files;
16
+ - [ __ auth__ ] ( pkg/handler/auth ) to manage authentication and authorisation;
17
+ - [ __ tokenjar__ ] ( pkg/handler/tokenjar ) to manage persistence of authorisation
18
+ tokens on disk;
16
19
- [ __ certmanager__ ] ( pkg/handler/certmanager ) to manage trust and certificates.
17
20
18
21
The motivation for this module is to provide a generic server which
19
22
can be developed and scaled over time. Ultimately the running process
20
23
is a large "monolith" server which can be composed of many smaller
21
24
"plugins", which can be connected together loosely.
22
25
26
+ ## Running the server
27
+
28
+ The easiest way to run an nginx reverse proxy server, with an API to
29
+ manage nginx configuration, is through docker:
30
+
31
+ ``` bash
32
+ docker run -p 8080:80 ghcr.io/mutablelogic/go-server
33
+ ```
34
+
35
+ This will start a server on port 8080. Use API commands to manage the
36
+ nginx configuration. Ultimately you'll want to develop your own plugins
37
+ and can use this image as the base image for your own server.
38
+
23
39
## Requirements and Building
24
40
25
41
Any modern ` go ` compiler should be able to build the ` server ` command,
26
- 1.22 and above. It has been tested on MacOS and Linux. To build the server
42
+ 1.21 and above. It has been tested on MacOS and Linux. To build the server
27
43
and plugins, run:
28
44
29
45
``` bash
@@ -44,7 +60,7 @@ other make targets:
44
60
45
61
You can run the server:
46
62
47
- 1 . With a HTTP server over network: You can specify TSL key and certificate
63
+ 1 . With a HTTP server over network: You can specify TLS key and certificate
48
64
to serve requests over a secure connection;
49
65
2 . With a HTTP server with FastCGI over a unix socket: You would want to do
50
66
this if the server is behind a reverse proxy such as nginx.
0 commit comments