Skip to content

Commit d59723f

Browse files
committed
docker: Fix $DOCKER_USER
Now we cp instead of mv $HOME as mv will fail due to the user not existing. We also only try to convert if the user hasn't been changed. Finally I added usage to the docker docs in install.md Closes #2056
1 parent ceceef1 commit d59723f

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

ci/release-image/entrypoint.sh

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
#!/usr/bin/env sh
1+
#!/bin/sh
22
set -eu
33

44
if [ "${DOCKER_USER-}" ]; then
55
echo "$DOCKER_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
66
sudo usermod --login "$DOCKER_USER" \
7-
--move-home --home "/home/$DOCKER_USER" \
7+
--home "/home/$DOCKER_USER" \
88
coder
99
sudo groupmod -n "$DOCKER_USER" coder
1010

11+
# We cannot use usermod to do this as it uses mv which will
12+
# fail as files are open in $HOME. We have to copy.
13+
sudo cp -a "$HOME" "/home/$DOCKER_USER"
14+
export HOME="/home/$DOCKER_USER"
15+
1116
sudo sed -i "/coder/d" /etc/sudoers.d/nopasswd
1217
sudo sed -i "s/coder/$DOCKER_USER/g" /etc/fixuid/config.yml
13-
export HOME="/home/$DOCKER_USER"
1418
fi
1519

1620
# This isn't set by default.

doc/install.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,11 @@ code-server
179179
# easily access/modify your code-server config in $HOME/.config/code-server/config.json
180180
# outside the container.
181181
mkdir -p ~/.config
182-
docker run -it -p 127.0.0.1:8080:8080 \
182+
docker run -it --name code-server -p 127.0.0.1:8080:8080 \
183183
-v "$HOME/.config:/home/coder/.config" \
184184
-v "$PWD:/home/coder/project" \
185185
-u "$(id -u):$(id -g)" \
186+
-e "DOCKER_USER=$USER" \
186187
codercom/code-server:latest
187188
```
188189

0 commit comments

Comments
 (0)