diff --git a/Dockerfile b/Dockerfile index fe206dd..d5b2f08 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,9 @@ # FROM debian:bullseye-slim FROM dbt1/git-tools +### Path only valid while build base image +ENV PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ### Install the required tools and packages RUN apt-get update && apt-get install -y --no-install-recommends \ bash \ @@ -77,7 +80,6 @@ ARG HOST_PREFIX=${HOST_PREFIX} ARG LOCALE_LANG=${LOCALE_LANG} ARG LOCAL_HOSTNAME=${LOCAL_HOSTNAME} ARG NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES} -ARG PATH=${PATH} ARG QT_QUICK_BACKEND=${QT_QUICK_BACKEND} ARG QT_XCB_GL_INTEGRATION=${QT_XCB_GL_INTEGRATION} ARG START_PATH=${START_PATH} @@ -133,7 +135,6 @@ ENV NO_AT_BRIDGE=1 ## Create some basic directories and permissions for X-Server RUN mkdir -p $XDG_RUNTIME_DIR && chown -R root:root $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR -### Terminal ## Copy welcome message ENV BANNER_FILE=/etc/welcome.txt COPY terminal-splash.txt /etc/terminal-splash.txt @@ -172,14 +173,14 @@ RUN mkdir -p /etc/service/lighttpd && \ echo "exec lighttpd -D -f ${LIGHTTPD_STD_CONFIG_FILE}" >> ${LIGHTTPD_RUN} && \ chmod 755 ${LIGHTTPD_RUN} -### generate content of start script ### +### Start generate content of start script ### ENV CONTAINER_INIT_SCRIPT="/usr/local/bin/init.sh" RUN echo "#!/bin/bash" > ${CONTAINER_INIT_SCRIPT} && \ echo "echo 'Initialize tuxbox-builder container...'" >> ${CONTAINER_INIT_SCRIPT} && \ - echo "chown -R ${USER}:${USER_GROUP} ${USER_DIR} ${USER_VOLUME_DATADIR}" >> ${CONTAINER_INIT_SCRIPT} + echo "chown -R ${USER}:${USER_GROUP} ${USER_DIR} ${USER_VOLUME_DATADIR}" >> ${CONTAINER_INIT_SCRIPT} && \ + echo "usermod -aG sudo $USER" >> ${CONTAINER_INIT_SCRIPT} ## prepare git config -#COPY .gitconfig ${USER_DIR}/.gitconfig RUN mkdir -p ${XDG_CONFIG_HOME}/git && \ echo "echo -e '[user]\\n\\temail = ${GIT_EMAIL}\\n\\tname = ${GIT_USER}' > ${XDG_CONFIG_HOME}/git/config" >> ${CONTAINER_INIT_SCRIPT} && \ echo "chown -R ${USER}:${USER_GROUP} ${XDG_CONFIG_HOME}/git" >> ${CONTAINER_INIT_SCRIPT} && \ diff --git a/create-env.sh b/create-env.sh index 532d14c..67c20b8 100755 --- a/create-env.sh +++ b/create-env.sh @@ -9,14 +9,15 @@ TB_BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S') USER=$(whoami) USER_ID=$(id -u) USER_GROUP_ID=$(id -g) -USER_DIR=${HOME} +USER_DIR="${HOME}" HOST_PREFIX=tuxbox BUILDENV_PREFIX="buildenv" LOCAL_HOSTNAME=$(hostname) ENABLE_UI_TOOLS="false" -USER_VOLUME_WORKDIR=${USER_DIR}/${HOST_PREFIX} +USER_VOLUME_BINDIR="${USER_DIR}/bin" +USER_VOLUME_WORKDIR="${USER_DIR}/${HOST_PREFIX}" +USER_VOLUME_WORKBINDIR="${USER_VOLUME_WORKDIR}/bin" USER_VOLUME_DATADIR="${USER_VOLUME_WORKDIR}/.data" -TB_PATH="${USER_VOLUME_WORKDIR}/bin:${USER_DIR}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" HISTFILE_NAME=".bash_history" HISTFILE="${USER_VOLUME_DATADIR}/${HISTFILE_NAME}" @@ -80,7 +81,6 @@ LC_ALL=${LANG} LOCALE_LANG=${LANG} LOCAL_HOSTNAME=${LOCAL_HOSTNAME} NVIDIA_VISIBLE_DEVICES=all -PATH=${TB_PATH} QT_QUICK_BACKEND=software QT_XCB_GL_INTEGRATION=xcb_egl START_PATH=${USER_VOLUME_WORKDIR}/${BUILDENV_PREFIX} @@ -94,6 +94,8 @@ USER_ID=${USER_ID} USER_PASSWORD=${USER} USER_VOLUME_WORKDIR=${USER_VOLUME_WORKDIR} USER_VOLUME_DATADIR=${USER_VOLUME_DATADIR} +USER_VOLUME_BINDIR=${USER_VOLUME_BINDIR} +USER_VOLUME_WORKBINDIR=${USER_VOLUME_WORKBINDIR} TB_VERSION=${TB_VERSION} XDG_CONFIG_HOME=/home XDG_RUNTIME_DIR=/tmp/runtime-root diff --git a/docker-compose.yml b/docker-compose.yml index 5bb563c..12014e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,8 +4,8 @@ services: tuxbox-build: container_name: tuxbox-build image: tuxbox-build -# environment: -# - BUILDENV_VERSION=3.2.4 + environment: + - PATH=${USER_VOLUME_WORKBINDIR}:${USER_VOLUME_BINDIR}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin env_file: - .env build: @@ -25,7 +25,6 @@ services: - LOCALE_LANG=${LOCALE_LANG} - LOCAL_HOSTNAME=${LOCAL_HOSTNAME} - NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES} - #- PATH=${PATH} - QT_QUICK_BACKEND=${QT_QUICK_BACKEND} - QT_XCB_GL_INTEGRATION=${QT_XCB_GL_INTEGRATION} - START_PATH=${START_PATH} @@ -59,8 +58,8 @@ services: - ${USER_DIR}/sstate-cache:${USER_DIR}/sstate-cache - ${USER_DIR}/Archive:${USER_DIR}/Archive - ${USER_DIR}/.ccache:${USER_DIR}/.ccache - - ${USER_DIR}/bin:${USER_DIR}/bin - - ${USER_VOLUME_WORKDIR}/bin:${USER_VOLUME_WORKDIR}/bin + - ${USER_VOLUME_BINDIR}:${USER_DIR}/bin + - ${USER_VOLUME_WORKBINDIR}:${USER_VOLUME_WORKDIR}/bin - ${USER_DIR}/.ssh:${USER_DIR}/.ssh - ${USER_VOLUME_DATADIR}:/data - ${USER_VOLUME_WORKDIR}/.config:/config