43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
container_name="gitlab"
|
|
tar_file_path="$CODESPACE_VSCODE_FOLDER/gitlab/bootstrap/gitlab.tar.gz"
|
|
|
|
if [ ! -d /srv/gitlab ]; then
|
|
echo -e "Seeding GitLab data \U1F331"
|
|
if [ ! -f $tar_file_path ]; then
|
|
echo -e "GitLab data file not found at $tar_file_path.\nPlease verify this file has not been removed\nExiting..."
|
|
return
|
|
fi
|
|
sudo tar -xzf $tar_file_path -C /srv
|
|
fi
|
|
|
|
echo -e "Checking for GitLab \U1F575"
|
|
|
|
if [ "$(docker ps -a | grep $container_name)" ]; then
|
|
echo -e "GitLab is running \U1F603"
|
|
docker start $container_name
|
|
else
|
|
echo -e "Starting new GitLab container \U1F4E0"
|
|
docker run --detach \
|
|
--hostname 172.17.0.2 \
|
|
--publish 80:80 \
|
|
--name gitlab \
|
|
--restart always \
|
|
--volume /srv/gitlab/config:/etc/gitlab \
|
|
--volume /srv/gitlab/logs:/var/log/gitlab \
|
|
--volume /srv/gitlab/data:/var/opt/gitlab \
|
|
--shm-size 256m \
|
|
gitlab/gitlab-ee:15.5.6-ee.0
|
|
|
|
# updates file permissions to avoid git and server errors
|
|
docker exec -it gitlab update-permissions &> /dev/null
|
|
fi
|
|
|
|
echo -e "Waiting for GitLab to be ready. This might take a while \U23F0"
|
|
until $(curl --output /dev/null --silent --head --fail http://localhost); do
|
|
printf '.'
|
|
sleep 5
|
|
done
|
|
|
|
echo -e '\nGitLab is up and running! \U1F680'
|