Tons of fixes and features added.

* added clean function to build and install of Makefile
    * esnured USERDATA voluems are added
    * if userdata volumes are used home directory of browser is created first
      so ensure home directory has right permissions and that /etc/skel files
      exist
    * renamed some parms
pull/4/head
Carlos Hernandez 9 years ago
parent a5a320f12a
commit de528eacfe

@ -28,10 +28,15 @@ help:
@echo " 2. make bash - bash login"
@echo ""
build:
@docker build --tag=${USER}/browser-box .
clean:
@docker rm -f `docker ps -a | grep "${USER}/browser-box" | awk '{print $$1}'` > /dev/null 2>&1 || exit 0
@docker rmi `docker images | grep "${USER}/browser-box" | awk '{print $$3}'` > /dev/null 2>&1 || exit 0
install uninstall: build
build: clean
@docker build --rm=true --tag=${USER}/browser-box .
install uninstall: clean build
@docker run -it --rm \
--volume=/usr/local/bin:/target \
${USER}/browser-box:latest $@

@ -37,9 +37,22 @@ uninstall_browser_box() {
}
create_user() {
# ensure home directory is owned by browser
# and that profile files exist
if [[ -d /home/${WEB_BROWSER_USER} ]]; then
chown ${USER_UID}:${USER_GID} /home/browser
# copy user files from /etc/skel
cp /etc/skel/.bashrc /home/${WEB_BROWSER_USER}
cp /etc/skel/.bash_logout /home/${WEB_BROWSER_USER}
cp /etc/skel/.profile /home/${WEB_BROWSER_USER}
chown ${USER_UID}:${USER_GID} \
/home/${WEB_BROWSER_USER}/.bashrc \
/home/${WEB_BROWSER_USER}/.profile \
/home/${WEB_BROWSER_USER}/.bash_logout
fi
# create group with USER_GID
if ! getent group ${WEB_BROWSER_USER} >/dev/null; then
groupadd -f -g ${USER_GID} ${WEB_BROWSER_USER}
groupadd -f -g ${USER_GID} ${WEB_BROWSER_USER} 2> /dev/null
fi
# create user with USER_UID

@ -69,6 +69,9 @@ prepare_docker_volume_parameters() {
# TODO: Need to add tor and chromium userdata dirs
# if wanted by the user, maybe use env variables
prepare_docker_userdata_volumes() {
if [[ -n ${CHROME_USERDATA} ]]; then
echo " --volume=${CHROME_USERDATA}:/home/${WEB_BROWSER_USER}/.config/google-chrome"
fi
[ -n ${CHROME_USERDATA} ] && VOLUMES+=" --volume=${CHROME_USERDATA}:/home/${WEB_BROWSER_USER}/.config/google-chrome"
[ -n ${FIREFOX_USERDATA} ] && VOLUMES+=" --volume=${FIREFOX_USERDATA}:/home/${WEB_BROWSER_USER}/.mozilla"
}
@ -132,11 +135,12 @@ cleanup_stopped_browser_box_instances
prepare_docker_caps_parameters $prog
prepare_docker_env_parameters
prepare_docker_volume_parameters
prepare_docker_userdata_volumes
prepare_docker_device_parameters
echo "Starting ${prog}..."
${SUDO} docker run -d \
${DOCKER_BROWSER_PARMS} \
${BROWSER_BOX_PARMS} \
${CAPABILITIES} \
${ENV_VARS} \
${VIDEO_DEVICES} \

Loading…
Cancel
Save