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
+13-44Lines changed: 13 additions & 44 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
1
1
# voxel-dockerclient
2
2
An experimental Minecraft-like docker client, built using [voxel.js](http://voxeljs.com/). Inspired by [dockercraft](https://github.com/docker/dockercraft).
3
3
4
+
[](https://hub.docker.com/r/rajchaudhuri/voxel-dockerclient)
5
+
[](https://github.com/rajch/voxel-dockerclient/releases)
6
+
4
7
> [!IMPORTANT]
5
8
> This software is dependent, indirectly, on a version of [three.js](https://threejs.org/) that has known vulnerabilities. For a number of reasons, this dependency **cannot** currently be updated. So, this software is now in maintenance mode.
6
9
>
@@ -23,7 +26,7 @@ The easiest way:
23
26
24
27
[](https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/rajch/voxel-dockerclient/master/stack.yml)
25
28
26
-
### Using the docker image
29
+
### Use the published docker image
27
30
The next easiest way is to pull the docker image, and run from that. The steps are as follows:
28
31
29
32
1. Pull the docker image with
@@ -43,45 +46,10 @@ The next easiest way is to pull the docker image, and run from that. The steps a
43
46
> The container needs this to proxy a subset of the Docker remote API to voxel-dockerclient.
44
47
> If you leave this out by mistake, voxel-dockerclient will not work.
45
48
46
-
3. Point your browser to the container. If you run docker directly on your Linux machine, browse to: `http://localhost:8080`.
47
-
If you use docker-machine (for example, with the Docker Toolbox on Windows), find the IP address of your docker machine with
48
-
49
-
```
50
-
docker-machine ip default
51
-
```
52
-
and then browse to that IP address using the port that you mapped in step 2. E.g.: `http://192.17.22.1:8080`
53
-
54
-
### Building with node.js and golang
55
-
Alternatively, if you have node.js (>=v12.19.0) and golang (>=go1.16.4) installed on your docker host, you can clone the github repository, and build and run voxel-dockerclient yourself. The steps are:
56
-
57
-
1. Clone the github repository into your Go workspace with:
Your logged-in user needs to be a member of the `docker` group for this to work.
81
-
82
-
### Building using docker only
83
-
Finally, if you have docker 17.05 or above, you can clone the github repository and use the multi-stage-build Dockerfile
84
-
that is included. This will pull relevant node and golang images, and perform the build using those. The steps are:
51
+
### Build the docker image locally
52
+
Finally, you can clone the github repository and use the multi-stage Dockerfile that is included. This will pull relevant node and golang images, and perform the build using those. The steps are:
Or, you could use the provided docker compose manifest file, by running:
102
70
103
71
```
104
-
docker-compose up -d
72
+
dockercompose up -d
105
73
```
106
74
107
75
Your logged-in user needs to be a member of the `docker` group for this to work.
@@ -117,7 +85,7 @@ I intend to add the following capabilities quickly:
117
85
*~~`docker logs` equivalent~~** DONE
118
86
*~~`docker attach` equivalent~~** DONE
119
87
*`docker pull` equivalent
120
-
* A better interface for the `create` command
88
+
*~~A better interface for the `create` command~~** DONE
121
89
*~~*Some* security~~** DONE
122
90
123
91
~~In the pipeline, further down, are:~~
@@ -136,7 +104,7 @@ This project is now in maintenance mode. See the [How does it work](#how-does-it
136
104
137
105
The voxel-dockerclient server is a tiny golang program, which serves the client HTML/CSS/javascript, and provides a proxy for the docker API. At the moment, it proxies the full API with ~~no~~ some authorization. ~~This will change.~~
138
106
139
-
On the client, it uses the brilliant [voxeljs](http://voxeljs.com/) family of node modules to render the UI, and the ~~[axios](https://github.com/mzabriskie/axios) node module~~fetch API to communicate with the proxied API.
107
+
On the client, it uses the brilliant [voxeljs](http://voxeljs.com/) family of node modules to render the UI, and the ~~[axios](https://github.com/mzabriskie/axios) node module~~fetch API to communicate with the proxied API.
140
108
141
109
I have used an older flavour of the main voxeljs module, voxel-engine. I had to fork it because of some incompatibilities with later modules. The original is [here](https://github.com/maxogden/voxel-engine), and my forked version [here](https://github.com/rajch/voxel-engine).
142
110
The same treatment had to be given for a voxeljs plugin called voxel-keys. The original is [here](https://github.com/voxel/voxel-keys), and my fork [here](https://github.com/rajch/voxel-keys).
@@ -150,7 +118,8 @@ The code is open source, under the MIT license. I would love contribution, in th
150
118
151
119
## Acknowledgements
152
120
I would like to thank:
121
+
153
122
* The fine folk of @docker, for Docker
154
-
* The fine folk behind the voxeljs family of modules.@github/maxogden, @github/kumavis, @github/deathcap, @github/substack et al. These are really nice.
155
-
* The authors of the dockerode and axios modules, although I'm not using dockerode any more.
123
+
* The fine folk behind the voxeljs family of modules:@github/maxogden, @github/kumavis, @github/deathcap, @github/substack et al
124
+
* The authors of the dockerode and axios modules, although those modules are no longer used in this project
156
125
* My partner, Chitra Raghavan (@github/chitradoc), for contributing the player model, testing, and bearing with me while I was building this
0 commit comments