-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add documentation for custom env file + add local-persist install scr…
…ipt (with a fix from official version)
- Loading branch information
Showing
5 changed files
with
208 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,29 @@ | ||
#!/bin/bash | ||
|
||
echo "[$0] Initializing..." | ||
|
||
# Create docker network | ||
docker network create traefik-network 2>&1 || true | ||
|
||
echo "Installing local-persist docker driver... (will prompt for password for sudo access)" | ||
sudo tools/local-persist.sh | ||
|
||
# Copy env file | ||
if [[ ! -f .env ]]; then | ||
cp .env.sample .env | ||
echo "[$0] Please edit .env file" | ||
fi | ||
|
||
# Copy custom env file | ||
if [[ ! -f .env.custom ]]; then | ||
cp .env.custom.sample .env.custom | ||
echo "[$0] Please edit .env.custom file if you want more customization (see documentation)." | ||
fi | ||
|
||
# Copy sample docker compose file | ||
if [[ ! -f docker-compose.yaml ]]; then | ||
cp docker-compose.sample.yaml docker-compose.yaml | ||
fi | ||
|
||
echo "[$0] Done." | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
VERSION="v1.3.0" | ||
|
||
gitDir=$(realpath `dirname $BASH_SOURCE`/..) | ||
echo $gitDir | ||
|
||
# uname -s, uname -m | ||
# Deb 32: Linux i686 | ||
# Ubuntu 64: Linux x86_64 | ||
# FreeBSD: FreeBSD amd64 | ||
|
||
if [[ "$UID" != 0 ]]; then | ||
echo NOTE: sudo needed to set up and run start service | ||
exit 1 | ||
fi | ||
|
||
|
||
if [[ `git -C "${gitDir}" rev-parse --is-inside-work-tree 2> /dev/null` == "true" ]]; then | ||
thisGit=`git -C "${gitDir}" config --get remote.origin.url` | ||
thisGit=${thisGit::-4} | ||
GITHUB_BINARY_BASE="${thisGit}/releases/download" | ||
GITHUB_RAW_BASE="${thisGit/github.com/raw.githubusercontent.com}/releases/download" | ||
fi | ||
|
||
if [[ $thisGit == "" ]]; then | ||
GITHUB_URL_PARTS="MatchbookLab/local-persist" | ||
GITHUB_BINARY_BASE="https://github.com/${GITHUB_URL_PARTS}/releases/download" | ||
GITHUB_RAW_BASE="https://raw.githubusercontent.com/${GITHUB_URL_PARTS}/" | ||
GITHUB_URL_PARTS= | ||
fi | ||
|
||
|
||
function setenv { | ||
OS=$(uname -s | tr "[:upper:]" "[:lower:]") | ||
ARCH=$(uname -m) | ||
|
||
SUPPORTED=false | ||
if [[ $OS == "linux" ]]; then | ||
case $ARCH in | ||
"x86_64") | ||
ARCH="amd64" | ||
SUPPORTED=true | ||
;; | ||
"aarch64") | ||
ARCH="arm64" | ||
SUPPORTED=true | ||
;; | ||
"i686") | ||
# ARCH="386" | ||
SUPPORTED=false | ||
;; | ||
# untested | ||
arm*) | ||
# ARCH="arm" | ||
SUPPORTED=false | ||
;; | ||
esac | ||
elif [[ $OS == 'freebsd' ]]; then | ||
ARCH=$(uname -m) | ||
SUPPORTED=false | ||
fi | ||
|
||
if [[ $SUPPORTED == false ]]; then | ||
echo $OS $ARCH is not supported | ||
exit 2 | ||
fi | ||
} | ||
|
||
function install-binary { | ||
echo Stopping docker-volume-local-persist service if running | ||
echo '' | ||
if [[ $* == *--upstart* ]]; then | ||
(sudo service docker-volume-local-persist stop || true) | ||
else | ||
(sudo systemctl stop docker-volume-local-persist || true) | ||
fi | ||
|
||
BINARY_URL="${GITHUB_BINARY_BASE}/${VERSION}/local-persist-${OS}-${ARCH}" | ||
BINARY_DEST="/usr/bin/docker-volume-local-persist" | ||
|
||
echo Downloading binary: | ||
echo " From: $BINARY_URL" | ||
echo " To: $BINARY_DEST" | ||
|
||
curl -fLsS "$BINARY_URL" > $BINARY_DEST | ||
chmod +x $BINARY_DEST | ||
|
||
echo Binary download | ||
echo '' | ||
} | ||
|
||
# Systemd (default) | ||
function setup-systemd { | ||
SYSTEMD_CONFIG_URL="${GITHUB_RAW_BASE}/${VERSION}/init/systemd.service" | ||
SYSTEMD_CONFIG_DEST="/etc/systemd/system/docker-volume-local-persist.service" | ||
|
||
echo Downloading Systemd service conf: | ||
echo " From: $SYSTEMD_CONFIG_URL" | ||
echo " To: $SYSTEMD_CONFIG_DEST" | ||
|
||
sudo curl -fLsS "$SYSTEMD_CONFIG_URL" > $SYSTEMD_CONFIG_DEST | ||
|
||
echo Systemd conf downloaded | ||
echo '' | ||
} | ||
|
||
function start-systemd { | ||
echo Starting docker-volume-local-persist service... | ||
|
||
sudo systemctl daemon-reload | ||
sudo systemctl enable docker-volume-local-persist | ||
sudo systemctl start docker-volume-local-persist | ||
sudo systemctl status --full --no-pager docker-volume-local-persist | ||
|
||
echo '' | ||
echo Done! If you see this message, that should mean everything is installed and is running. | ||
} | ||
|
||
# Upstart | ||
function setup-upstart { | ||
UPSTART_CONFIG_URL="${GITHUB_RAW_BASE}/${VERSION}/init/upstart.conf" | ||
UPSTART_CONFIG_DEST="/etc/init/docker-volume-local-persist.conf" | ||
|
||
echo Downloading binary: | ||
echo " From: $UPSTART_CONFIG_URL" | ||
echo " To: $UPSTART_CONFIG_DEST" | ||
|
||
sudo curl -fLsS "$UPSTART_CONFIG_URL" > $UPSTART_CONFIG_DEST | ||
|
||
echo Upstart conf downloaded | ||
echo '' | ||
} | ||
|
||
function start-upstart { | ||
echo Reloading Upstart config and starting docker-volume-local-persist service... | ||
|
||
sudo initctl reload-configuration | ||
sudo service docker-volume-local-persist start | ||
sudo service docker-volume-local-persist status | ||
|
||
echo '' | ||
echo Done! If you see this message, that should mean everything is installed and is running. | ||
} | ||
|
||
|
||
setenv | ||
|
||
if [[ $* == *--upstart* ]]; then | ||
install-binary --upstart | ||
setup-upstart | ||
start-upstart | ||
else | ||
install-binary | ||
setup-systemd | ||
start-systemd | ||
fi |