clean-and-fixes

This commit is contained in:
Jackson Delahunt 2020-01-20 21:10:26 +11:00
parent f083b3a5ff
commit 4e275d5de5
7 changed files with 22 additions and 52 deletions

View file

@ -9,10 +9,10 @@ jobs:
uses: elgohr/Publish-Docker-Github-Action@master
env:
DESKTOP_ENVIRONMENT_USER: ${{ secrets.DESKTOP_ENVIRONMENT_USER }}
DESKTOP_ENVIRONMENT_REGISTRY: $GITHUB_ACTOR
DESKTOP_ENVIRONMENT_REGISTRY: ${{ github.actor }}
with:
dockerfile: docker/Dockerfile
name: ${{ secrets.DESKTOP_ENVIRONMENT_REGISTRY }}/desktop-environment:latest
name: ${{ github.actor }}/desktop-environment:latest
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
buildargs: DESKTOP_ENVIRONMENT_USER,DESKTOP_ENVIRONMENT_REGISTRY

View file

@ -121,6 +121,11 @@ RUN apt-get update -qq && \
zsh \
zathura
# Install alacritty
RUN wget -O alacritty.deb -nv https://github.com/jwilm/alacritty/releases/download/v0.3.3/Alacritty-v0.3.3-ubuntu_18_04_amd64.deb && \
dpkg -i alacritty.deb && \
rm alacritty.deb
# Install antigen
RUN curl -fsSL git.io/antigen > /usr/local/bin/antigen.zsh
@ -128,16 +133,15 @@ RUN curl -fsSL git.io/antigen > /usr/local/bin/antigen.zsh
RUN wget -O /usr/local/bin/arc -qnv https://github.com/mholt/archiver/releases/download/v3.1.1/arc_linux_amd64 && \
chmod +x /usr/local/bin/arc
# Install bandwhich
RUN curl -fsSL https://github.com/imsnif/bandwhich/releases/download/0.10.0/bandwhich-v0.10.0-x86_64-unknown-linux-musl.tar.gz | \
tar -C /usr/local/bin -xzf -
# Install bat
RUN wget -O bat.deb -qnv https://github.com/sharkdp/bat/releases/download/v0.9.0/bat_0.9.0_amd64.deb && \
dpkg -i bat.deb && \
rm bat.deb
# Install alacritty
RUN wget -O alacritty.deb -nv https://github.com/jwilm/alacritty/releases/download/v0.3.3/Alacritty-v0.3.3-ubuntu_18_04_amd64.deb && \
dpkg -i alacritty.deb && \
rm alacritty.deb
# Install chrome
RUN apt-get update -qq && \
apt-get install -qq \

10
docker/scripts/bootstrap.sh Executable file
View file

@ -0,0 +1,10 @@
REPO_ROOT=$(dirname $(readlink -f $0))/../..
# Export desktop environment shell configuration
eval "$($REPO_ROOT/docker/scripts/environment.sh)"
# Prepare docker host volumes
$REPO_ROOT/docker/scripts/take-ownership.sh
# Start desktop environment
$REPO_ROOT/docker/scripts/start.sh

View file

@ -13,6 +13,7 @@ docker build \
--build-arg DESKTOP_ENVIRONMENT_USER="$DESKTOP_ENVIRONMENT_USER" \
--build-arg DOTFILES_CACHEBUST=$(cat $REPO_ROOT/.dotfiles-cachebust 2>/dev/null) \
--file $REPO_ROOT/docker/Dockerfile \
--network host \
--tag $DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_NAME:$DESKTOP_ENVIRONMENT_CONTAINER_TAG \
--tag $DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_NAME:latest \
$REPO_ROOT/docker

View file

@ -1,25 +0,0 @@
REPO_ROOT=$(dirname $(readlink -f $0))/../..
# Export desktop environment shell configuration
eval "$($REPO_ROOT/docker/scripts/environment.sh)"
SECRETS_VOLUMES=$(cat $REPO_ROOT/docker/scripts/environment.sh | grep echo | grep DESKTOP_ | grep -v SECRETS_ | cut -b 13- | cut -f 1 -d = | sort | uniq)
for VOLUME_NAME in $SECRETS_VOLUMES; do
VOLUME_PATH=$(printenv $VOLUME_NAME)
echo Owning $VOLUME_NAME...
# Give the desktop environment user ownership of the volume
docker run \
--rm \
--user root \
--volume $VOLUME_NAME:$VOLUME_PATH \
alpine:latest \
chown -R $DESKTOP_ENVIRONMENT_USER_ID:$DESKTOP_ENVIRONMENT_USER_ID $VOLUME_PATH &
done
# Wait for ownership changes to complete in parallel
wait

View file

@ -1,19 +0,0 @@
REPO_ROOT=$(dirname $(readlink -f $0))/../..
# Export desktop environment shell configuration
eval "$($REPO_ROOT/docker/scripts/environment.sh)"
# Remove existing cloned repository
docker run \
--rm \
--volume DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY:$DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY \
alpine:latest rm -rf $DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY
# Clone desktop environment repository
docker run \
--rm \
--volume DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY:$DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY \
alpine/git:latest clone https://github.com/$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_NAME $DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY
# Ensure the container user has ownership of docker volumes
$REPO_ROOT/docker/scripts/take-ownership.sh

View file

@ -17,7 +17,6 @@ echo export DESKTOP_ENVIRONMENT_USER_ID=1000
# Desktop environment docker configuration
echo export DESKTOP_ENVIRONMENT_DOCKER_NETWORK=$DESKTOP_ENVIRONMENT_REGISTRY-$DESKTOP_ENVIRONMENT_CONTAINER_NAME
echo export DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY=/$DESKTOP_ENVIRONMENT_CONTAINER_NAME
# Desktop environment application cache volumes
echo export DESKTOP_ENVIRONMENT_CACHE_CHROME=$DESKTOP_ENVIRONMENT_USER_HOME/.cache/google-chrome