feat: send command typed in container to API

- Modify the Dockerfile in the `server/quests/helloworld` directory to add a user and change the working directory
- Rename the file `server/quests/helloworld/entrypoint.sh` to `server/quests/helloworld/home/.bashrc`
- Modify the `server/src/config.js` file to add the `isProduction` flag
- Modify the `server/src/utils/docker.js` file to add a `HostConfig` option and bind a directory if not in production mode
- Modify the Dockerfile to add an argument `DOCKER_GID` and create a group and user with the specified `DOCKER_GID`
- Add a new Dockerfile.dev file with the same modifications as the Dockerfile
- Add a new file `inspect.sh`
- Modify the `server/src/client.js` file to use the `API_ENDPOINT` variable instead of a hardcoded URL

Signed-off-by: wancat <wancat@wancat.cc>
This commit is contained in:
wancat committed 2023-07-26 20:54:01 +08:00
1 parent 9376e16f72
commit d997a061a9
8 files changed
+41 -18

No files matched your search

+7 -3
View File
@@ -4,8 +4,12 @@ RUN apt-get update && apt-get install -y \
curl \
vim
WORKDIR /app
RUN adduser --disabled-password --gecos '' rudeus
COPY . .
USER rudeus
CMD [ "/bin/bash" ]
WORKDIR /home/rudeus
COPY ./home /home/rudeus/
CMD [ "/bin/bash" ]
@@ -1,12 +1,3 @@
#!/bin/bash
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
# . /etc/bash_completion
#fi
# This function will be called before each command is executed
preexec() {
[ -n "$COMP_LINE" ] && return # do nothing if completing