Compare commits
4 Commits
b89beaed58
...
ac46887e75
| Author | SHA1 | Date | |
|---|---|---|---|
| ac46887e75 | |||
| 770aafa5ca | |||
| af6d1a3272 | |||
| 17fd20d1ca |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
env.shinc
|
||||
**/env.shinc
|
||||
|
||||
@ -5,7 +5,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
IMAGE_NAME="clue/adminer"
|
||||
IMAGE_VERSION="latest"
|
||||
|
||||
PROJECT_NAME=adminer
|
||||
SERVICE_NAME=adminer
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
@ -16,6 +16,9 @@ source ${SCRIPT_PATH}/../common.shinc
|
||||
|
||||
DOMAIN_NAME="adminer.loc"
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
|
||||
@ -25,26 +28,18 @@ init() {
|
||||
|
||||
__build || return $?
|
||||
|
||||
echo " docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
-e VIRTUAL_HOST=${DOMAIN_NAME} \
|
||||
--restart=unless-stopped \
|
||||
--net ${DB_NETWORK} \
|
||||
--net ${PROXY_NETWORK} \
|
||||
${PROJECT_NAME}:latest"
|
||||
|
||||
docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
--name ${SERVICE_NAME} \
|
||||
-e VIRTUAL_HOST=${DOMAIN_NAME} \
|
||||
--restart=unless-stopped \
|
||||
${PROJECT_NAME}:latest
|
||||
${SERVICE_NAME}:latest
|
||||
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
docker network connect ${DB_NETWORK} ${PROJECT_NAME}
|
||||
docker network connect ${DB_NETWORK} ${SERVICE_NAME}
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
docker network connect ${PROXY_NETWORK} ${PROJECT_NAME}
|
||||
docker network connect ${PROXY_NETWORK} ${SERVICE_NAME}
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
__ask_to_start
|
||||
|
||||
20
common.shinc
20
common.shinc
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
REQUIRED_VARIABLES=(PROJECT_NAME SCRIPT_PATH IMAGE_NAME IMAGE_VERSION)
|
||||
REQUIRED_VARIABLES=(SERVICE_NAME SCRIPT_PATH IMAGE_NAME IMAGE_VERSION)
|
||||
|
||||
for _var in ${REQUIRED_VARIABLES[@]}; do
|
||||
if [ -z ${!_var+x} ]; then
|
||||
@ -10,7 +10,7 @@ for _var in ${REQUIRED_VARIABLES[@]}; do
|
||||
done
|
||||
|
||||
source ${SCRIPT_PATH}/../settings.shinc
|
||||
source ${SCRIPT_PATH}/../env.shinc
|
||||
source ${SCRIPT_PATH}/../env.shinc 2> /dev/null
|
||||
|
||||
source ${SCRIPT_PATH}/../functions.shinc
|
||||
|
||||
@ -21,7 +21,7 @@ source ${SCRIPT_PATH}/../functions.shinc
|
||||
stop() {
|
||||
__msg "Stopping container... " 0 no
|
||||
|
||||
STATUS=$(docker stop ${PROJECT_NAME} > /dev/null 2>&1)
|
||||
STATUS=$(docker stop ${SERVICE_NAME} > /dev/null 2>&1)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
__err "${STATUS}"
|
||||
return 1
|
||||
@ -34,7 +34,7 @@ stop() {
|
||||
|
||||
start() {
|
||||
__msg "Starting container... " 0 no
|
||||
STATUS=$(docker start ${PROJECT_NAME} 2>&1)
|
||||
STATUS=$(docker start ${SERVICE_NAME} 2>&1)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
__err "${STATUS}"
|
||||
return 1
|
||||
@ -49,7 +49,7 @@ remove() {
|
||||
stop
|
||||
|
||||
__msg "Removing container... " 0 no
|
||||
STATUS=$(docker rm ${PROJECT_NAME} 2>&1)
|
||||
STATUS=$(docker rm ${SERVICE_NAME} 2>&1)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
__err "${STATUS}"
|
||||
return 1
|
||||
@ -62,23 +62,23 @@ remove() {
|
||||
|
||||
|
||||
logs() {
|
||||
docker logs "$@" ${PROJECT_NAME}
|
||||
docker logs "$@" ${SERVICE_NAME}
|
||||
return $?
|
||||
}
|
||||
|
||||
exec() {
|
||||
# Test if bash is available
|
||||
docker exec -it ${PROJECT_NAME} /bin/bash -c "echo 'test'" > /dev/null 2>&1
|
||||
docker exec -it ${SERVICE_NAME} /bin/bash -c "echo 'test'" > /dev/null 2>&1
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
docker exec -it ${PROJECT_NAME} /bin/bash
|
||||
docker exec -it ${SERVICE_NAME} /bin/bash
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Test if bash is available
|
||||
docker exec -it ${PROJECT_NAME} /bin/sh -c "echo 'test'" > /dev/null 2>&1
|
||||
docker exec -it ${SERVICE_NAME} /bin/sh -c "echo 'test'" > /dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
docker exec -it ${PROJECT_NAME} /bin/sh
|
||||
docker exec -it ${SERVICE_NAME} /bin/sh
|
||||
|
||||
return $?
|
||||
fi
|
||||
|
||||
11
elastic-search/Dockerfile
Normal file
11
elastic-search/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
||||
ARG IMAGE_NAME
|
||||
ARG IMAGE_VERSION
|
||||
FROM ${IMAGE_NAME}:${IMAGE_VERSION}
|
||||
|
||||
ADD elasticsearch.yml /usr/share/elasticsearch/config/
|
||||
|
||||
USER root
|
||||
|
||||
RUN chown elasticsearch:elasticsearch config/elasticsearch.yml
|
||||
|
||||
USER elasticsearch
|
||||
12
elastic-search/elasticsearch.yml
Normal file
12
elastic-search/elasticsearch.yml
Normal file
@ -0,0 +1,12 @@
|
||||
http:
|
||||
host: 0.0.0.0
|
||||
transport:
|
||||
host: 127.0.0.1
|
||||
xpack:
|
||||
security:
|
||||
enabled: false
|
||||
authc:
|
||||
anonymous:
|
||||
roles:
|
||||
- role1
|
||||
- role2
|
||||
44
elastic-search/run.sh
Executable file
44
elastic-search/run.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
|
||||
IMAGE_NAME="docker.elastic.co/elasticsearch/elasticsearch"
|
||||
IMAGE_VERSION="5.3.2"
|
||||
|
||||
SERVICE_NAME=elastic-search
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
|
||||
#
|
||||
# Project specific variables
|
||||
#
|
||||
|
||||
DOMAIN_NAME="elastic.loc"
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
|
||||
# Create networks
|
||||
NETWORKS=(${SEARCH_ENGINE_NETWORK})
|
||||
__createNetworks
|
||||
|
||||
__build || return $?
|
||||
|
||||
docker create \
|
||||
--name ${SERVICE_NAME} \
|
||||
-e VIRTUAL_HOST=${DOMAIN_NAME} \
|
||||
--net ${SEARCH_ENGINE_NETWORK} \
|
||||
${SERVICE_NAME}:latest
|
||||
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
__ask_to_start
|
||||
}
|
||||
|
||||
"$@"
|
||||
|
||||
exit $?
|
||||
@ -76,7 +76,7 @@ init() {
|
||||
}
|
||||
|
||||
__init() {
|
||||
__msg "Initializing ${PROJECT_NAME}"
|
||||
__msg "Initializing ${SERVICE_NAME}"
|
||||
|
||||
# Make sure we have the latest build
|
||||
docker pull ${IMAGE_NAME}:${IMAGE_VERSION}
|
||||
@ -88,7 +88,7 @@ __build() {
|
||||
docker build \
|
||||
--build-arg IMAGE_NAME=${IMAGE_NAME} \
|
||||
--build-arg IMAGE_VERSION=${IMAGE_VERSION} \
|
||||
-t ${PROJECT_NAME}:latest \
|
||||
-t ${SERVICE_NAME}:latest \
|
||||
${SCRIPT_PATH}
|
||||
|
||||
return $?
|
||||
|
||||
@ -5,7 +5,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
IMAGE_NAME="mailhog/mailhog"
|
||||
IMAGE_VERSION="latest"
|
||||
|
||||
PROJECT_NAME=mailhog
|
||||
SERVICE_NAME=mailhog
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
@ -18,6 +18,8 @@ SMTP_PORT=1025
|
||||
WEB_PORT=8025
|
||||
DOMAIN_NAME="mailhog.loc"
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
@ -26,7 +28,7 @@ init() {
|
||||
__createNetworks
|
||||
|
||||
docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
--name ${SERVICE_NAME} \
|
||||
-e VIRTUAL_HOST=${DOMAIN_NAME} \
|
||||
-e VIRTUAL_PORT=${WEB_PORT} \
|
||||
-p ${SMTP_PORT}:1025 \
|
||||
@ -34,10 +36,10 @@ init() {
|
||||
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
docker network connect ${SMTP_NETWORK} ${PROJECT_NAME}
|
||||
docker network connect ${SMTP_NETWORK} ${SERVICE_NAME}
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
docker network connect ${PROXY_NETWORK} ${PROJECT_NAME}
|
||||
docker network connect ${PROXY_NETWORK} ${SERVICE_NAME}
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
__ask_to_start
|
||||
|
||||
@ -5,7 +5,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
IMAGE_NAME="mariadb"
|
||||
IMAGE_VERSION="10.1"
|
||||
|
||||
PROJECT_NAME=maria-db
|
||||
SERVICE_NAME=maria-db
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
@ -17,6 +17,9 @@ source ${SCRIPT_PATH}/../common.shinc
|
||||
DB_VOLUME=mariadb_shared
|
||||
BACKUP_DIR=${SCRIPT_PATH}/backup
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
|
||||
@ -26,7 +29,7 @@ init() {
|
||||
|
||||
# Create the database container
|
||||
docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
--name ${SERVICE_NAME} \
|
||||
--restart=unless-stopped \
|
||||
-v ${DB_VOLUME}:/var/lib/mysql \
|
||||
-e MYSQL_ROOT_PASSWORD=${DB_PASSWORD} \
|
||||
@ -44,7 +47,7 @@ export() {
|
||||
local user=$(id -u)
|
||||
|
||||
mkdir -p ${BACKUP_DIR} && \
|
||||
docker run --rm --volumes-from ${PROJECT_NAME} -v ${BACKUP_DIR}:/backup busybox tar cvf /backup/backup.tar /var/lib/mysql && chown -R ${user}:${user} ./backup
|
||||
docker run --rm --volumes-from ${SERVICE_NAME} -v ${BACKUP_DIR}:/backup busybox tar cvf /backup/backup.tar /var/lib/mysql && chown -R ${user}:${user} ./backup
|
||||
if [[ $? -ne 0 ]]; then
|
||||
__err "Could not create the backup"
|
||||
exit 2
|
||||
@ -58,7 +61,7 @@ export() {
|
||||
# Used for importing the whole database filesystem
|
||||
import() {
|
||||
stop
|
||||
docker run --rm --volumes-from ${PROJECT_NAME} -v ${BACKUP_DIR}:/backup busybox sh -c "rm -rf /var/lib/mysql/* && tar xvf /backup/backup.tar --directory /"
|
||||
docker run --rm --volumes-from ${SERVICE_NAME} -v ${BACKUP_DIR}:/backup busybox sh -c "rm -rf /var/lib/mysql/* && tar xvf /backup/backup.tar --directory /"
|
||||
start
|
||||
|
||||
return $?
|
||||
|
||||
13
nginx/run.sh
13
nginx/run.sh
@ -5,7 +5,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
IMAGE_NAME="jwilder/nginx-proxy"
|
||||
IMAGE_VERSION="latest"
|
||||
|
||||
PROJECT_NAME=nginx-proxy
|
||||
SERVICE_NAME=nginx-proxy
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
@ -14,6 +14,9 @@ source ${SCRIPT_PATH}/../common.shinc
|
||||
# Project specific variables
|
||||
#
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
|
||||
@ -24,13 +27,13 @@ init() {
|
||||
|
||||
# Create the nginx-proxy container
|
||||
docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
--name ${SERVICE_NAME} \
|
||||
-v /var/run/docker.sock:/tmp/docker.sock:ro \
|
||||
--restart=unless-stopped \
|
||||
-p 80:80 \
|
||||
-p 443:443 \
|
||||
--net ${PROXY_NETWORK} \
|
||||
${PROJECT_NAME}:latest
|
||||
${SERVICE_NAME}:latest
|
||||
|
||||
[[ $? -ne 0 ]] && return 1
|
||||
|
||||
@ -38,11 +41,11 @@ init() {
|
||||
}
|
||||
|
||||
fix() {
|
||||
local upperDir=$(docker inspect ${PROJECT_NAME} --format "{{.GraphDriver.Data.UpperDir}}")
|
||||
local upperDir=$(docker inspect ${SERVICE_NAME} --format "{{.GraphDriver.Data.UpperDir}}")
|
||||
[[ $? -ne 0 ]] && __err "Could not determine the nginx proxy filesystem path" && return 2
|
||||
|
||||
stop
|
||||
sudo rm $(docker inspect ${PROJECT_NAME} --format "{{.GraphDriver.Data.UpperDir}}")/etc/nginx/conf.d/default.conf
|
||||
sudo rm $(docker inspect ${SERVICE_NAME} --format "{{.GraphDriver.Data.UpperDir}}")/etc/nginx/conf.d/default.conf
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
__success "Succesfully removed the nginx configuration, restart the container"
|
||||
|
||||
@ -5,7 +5,7 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
|
||||
IMAGE_NAME="mdillon/postgis"
|
||||
IMAGE_VERSION="9.5"
|
||||
|
||||
PROJECT_NAME=pgsql-db
|
||||
SERVICE_NAME=pgsql-db
|
||||
|
||||
|
||||
source ${SCRIPT_PATH}/../common.shinc
|
||||
@ -17,6 +17,9 @@ source ${SCRIPT_PATH}/../common.shinc
|
||||
DB_VOLUME=pgsql_persistent
|
||||
PORT=5432
|
||||
|
||||
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
|
||||
|
||||
|
||||
init() {
|
||||
__init
|
||||
|
||||
@ -26,7 +29,7 @@ init() {
|
||||
__msg "Removing old postgres bin volume..."
|
||||
docker volume rm -f ${PGSQL_DB_BIN} &&
|
||||
docker create \
|
||||
--name ${PROJECT_NAME} \
|
||||
--name ${SERVICE_NAME} \
|
||||
--restart=unless-stopped \
|
||||
-v ${DB_VOLUME}:/var/lib/postgresql/data \
|
||||
-v ${PGSQL_DB_BIN}:/usr/lib/postgresql/${IMAGE_VERSION}/bin \
|
||||
|
||||
@ -16,6 +16,8 @@ DB_NETWORK="database"
|
||||
# Mail
|
||||
SMTP_NETWORK="smtp"
|
||||
|
||||
# Elastic search
|
||||
SEARCH_ENGINE_NETWORK="elastic"
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user