This repository has been archived on 2024-02-03. You can view files and clone it, but cannot push or open issues or pull requests.
flow-packer/provisioners/shell/setup.sh

48 lines
1.4 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
DOCKER_COMPOSE_VERSION="v2.2.3"
DOCKER_COMPOSE_SOURCE="https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64"
DOCKER_COMPOSE_DESTINATION="/home/${FLOW_USERNAME}/.docker/cli-plugins/docker-compose"
# Upgrade system and install required packages
apk update
apk upgrade
apk add \
curl \
docker \
gettext \
gnupg \
shadow \
tzdata
groupadd -g "${FLOW_GID}" "${FLOW_USERNAME}"
useradd -s /bin/bash -g "${FLOW_GID}" -u "${FLOW_UID}" -m -G docker "${FLOW_USERNAME}"
# Set the timezone and local time
mkdir -p /etc/zoneinfo/Europe
chmod -R 0755 /etc/zoneinfo
cp /usr/share/zoneinfo/Europe/London /etc/zoneinfo/Europe/
ln -fs /etc/zoneinfo/Europe/London /etc/localtime
echo "Europe/London" > /etc/timezone
apk del tzdata
mkdir -p \
"/home/${FLOW_USERNAME}/.docker/cli-plugins" \
"${ROOT_SETUP_DIRECTORY}/template/compose" \
"${ROOT_SETUP_DIRECTORY}/template/traefik" \
"${ROOT_SETUP_DIRECTORY}/template/gitea"
curl -SL "${DOCKER_COMPOSE_SOURCE}" -o "${DOCKER_COMPOSE_DESTINATION}"
chown "${FLOW_USERNAME}":"${FLOW_USERNAME}" "${DOCKER_COMPOSE_DESTINATION}"
chmod u+x "${DOCKER_COMPOSE_DESTINATION}"
cat <<EOF > ${ROOT_SETUP_DIRECTORY}/env
export FLOW_USERNAME=${FLOW_USERNAME}
export FLOW_UID=${FLOW_UID}
export FLOW_GID=${FLOW_GID}
export ROOT_SETUP_DIRECTORY=${ROOT_SETUP_DIRECTORY}
EOF