Compare commits

..

5 Commits

Author SHA1 Message Date
71c9b169df Update elastic search 2019-03-25 07:10:28 +01:00
a499fed7ba Add node interpretter 2019-03-25 07:09:17 +01:00
450cae64b9 Add update pgadmin, add default password 2019-03-25 07:02:29 +01:00
453913e1ab Fix backup in maria db, update maria db 2019-03-25 07:02:11 +01:00
56daea7eb6 Add new versions of elastic search 2019-03-25 07:01:42 +01:00
20 changed files with 428 additions and 8 deletions

View File

@ -0,0 +1,13 @@
ARG IMAGE_NAME
ARG IMAGE_VERSION
FROM ${IMAGE_NAME}:${IMAGE_VERSION}
RUN bin/elasticsearch-plugin install x-pack
ADD elasticsearch.yml /usr/share/elasticsearch/config/
USER root
RUN chown elasticsearch:elasticsearch config/elasticsearch.yml
USER elasticsearch

View 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

67
elastic-search-5/run.sh Executable file
View File

@ -0,0 +1,67 @@
#!/usr/bin/env bash
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="elasticsearch"
IMAGE_VERSION="5.6.16"
SERVICE_NAME=ys-elastic-search
source ${SCRIPT_PATH}/../common.shinc
#
# Project specific variables
#
DOMAIN_NAME="elastic5.loc"
RELEASE_NAME="yoursystemcz/elasticsearch"
RELEASE_VERSION="5.6.16"
PERSISTENT_VOLUME="ys-elastic-5"
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
init() {
__init
# Create networks
NETWORKS=(${SEARCH_ENGINE_NETWORK} ${PROXY_NETWORK})
__createNetworks
docker create \
--name ${SERVICE_NAME} \
-e VIRTUAL_HOST=${DOMAIN_NAME} \
-e VIRTUAL_PORT=9200 \
-v ${PERSISTENT_VOLUME}:/usr/share/elasticsearch/data \
--net ${SEARCH_ENGINE_NETWORK} \
${RELEASE_NAME}:${RELEASE_VERSION}
[[ $? -ne 0 ]] && return 1
docker network connect ${PROXY_NETWORK} ${SERVICE_NAME}
__ask_to_start
}
build() {
docker build \
--build-arg IMAGE_NAME=${IMAGE_NAME} \
--build-arg IMAGE_VERSION=${IMAGE_VERSION} \
-t ${RELEASE_NAME}:${RELEASE_VERSION} \
${SCRIPT_PATH}
}
release() {
build
docker push ${RELEASE_NAME}:${RELEASE_VERSION}
return $?
}
"$@"
exit $?

View File

@ -0,0 +1,13 @@
ARG IMAGE_NAME
ARG IMAGE_VERSION
FROM ${IMAGE_NAME}:${IMAGE_VERSION}
RUN bin/elasticsearch-plugin install x-pack
ADD elasticsearch.yml /usr/share/elasticsearch/config/
USER root
RUN chown elasticsearch:elasticsearch config/elasticsearch.yml
USER elasticsearch

View 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

67
elastic-search-6/run.sh Executable file
View File

@ -0,0 +1,67 @@
#!/usr/bin/env bash
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="elasticsearch"
IMAGE_VERSION="6.4.3"
SERVICE_NAME=ys-elastic-search-6
source ${SCRIPT_PATH}/../common.shinc
#
# Project specific variables
#
DOMAIN_NAME="elastic6.loc"
RELEASE_NAME="yoursystemcz/elasticsearch"
RELEASE_VERSION="6.4.3"
PERSISTENT_VOLUME="ys-elastic-6"
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
init() {
__init
# Create networks
NETWORKS=(${SEARCH_ENGINE_NETWORK} ${PROXY_NETWORK})
__createNetworks
docker create \
--name ${SERVICE_NAME} \
-e VIRTUAL_HOST=${DOMAIN_NAME} \
-e VIRTUAL_PORT=9200 \
-v ${PERSISTENT_VOLUME}:/usr/share/elasticsearch/data \
--net ${SEARCH_ENGINE_NETWORK} \
${RELEASE_NAME}:${RELEASE_VERSION}
[[ $? -ne 0 ]] && return 1
docker network connect ${PROXY_NETWORK} ${SERVICE_NAME}
__ask_to_start
}
build() {
docker build \
--build-arg IMAGE_NAME=${IMAGE_NAME} \
--build-arg IMAGE_VERSION=${IMAGE_VERSION} \
-t ${RELEASE_NAME}:${RELEASE_VERSION} \
${SCRIPT_PATH}
}
release() {
build
docker push ${RELEASE_NAME}:${RELEASE_VERSION}
return $?
}
"$@"
exit $?

View File

@ -5,7 +5,6 @@ SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="elasticsearch"
# Old version, AWS supported
IMAGE_VERSION="2.3.5"
#IMAGE_VERSION="5.3.2"
SERVICE_NAME=ys-elastic-search
@ -21,7 +20,6 @@ DOMAIN_NAME="elastic.loc"
RELEASE_NAME="yoursystemcz/elasticsearch"
# Old version, AWS supported
RELEASE_VERSION="2.3.5"
#RELEASE_VERSION="5.3.2"
PERSISTENT_VOLUME="ys-elastic"

View File

@ -3,7 +3,7 @@
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="mariadb"
IMAGE_VERSION="10.1"
IMAGE_VERSION="10.3"
SERVICE_NAME=maria-db
@ -56,7 +56,7 @@ backup() {
local user=$(id -u)
mkdir -p ${BACKUP_DIR} && \
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
docker run --rm --volumes-from ${SERVICE_NAME} -v ${BACKUP_DIR}:/backup busybox tar cvf /backup/backup.tar /var/lib/mysql && sudo chown -R ${user}:${user} ./backup
if [[ $? -ne 0 ]]; then
__err "Could not create the backup"
exit 2

View File

@ -0,0 +1,18 @@
DOCKER_REGISTRY = dr.ys-dev.cz
DOCKER_PUBLIC_REGISTRY = yoursystemcz
APP_NAME = node-interpretter
all: build release
build:
docker build -t $(DOCKER_REGISTRY)/$(APP_NAME):latest --build-arg "IMAGE_NAME=node" --build-arg "IMAGE_VERSION=10.15.0-slim" ./src
tag:
docker tag $(DOCKER_REGISTRY)/$(APP_NAME):latest $(DOCKER_PUBLIC_REGISTRY)/$(APP_NAME):latest
release: tag
docker push $(DOCKER_REGISTRY)/$(APP_NAME):latest
docker push $(DOCKER_PUBLIC_REGISTRY)/$(APP_NAME):latest

41
node-interpretter/bin/node Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
SERVICE_NAME="node-interpretter"
source ${SCRIPT_PATH}/shared.env.shinc 2> /dev/null
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
docker inspect --type container ${SERVICE_NAME} > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo "The node container does not exist"
exit 137
fi
NODE_SERVICE_STATE=$(docker inspect --type container ${SERVICE_NAME} --format "{{.State.Running}}")
if [[ $? -ne 0 ]]; then
echo "Could not get state of the node container"
exit 137
fi
if [[ "${NODE_SERVICE_STATE}" != "true" ]]; then
docker start ${SERVICE_NAME} > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo "Could not start the node container"
exit 137
fi
fi
case "${1}" in
npm|npx|yarn|yarnpkg|*npm-cli.js*|*npx-cli.js*)
docker exec -i ${SERVICE_NAME} "$@"
;;
*)
docker exec -i ${SERVICE_NAME} node "$@"
;;
esac

3
node-interpretter/bin/npm Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
node npm "$@"

3
node-interpretter/bin/npx Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
node npx "$@"

3
node-interpretter/bin/yarn Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
node yarn "$@"

3
node-interpretter/bin/yarnpkg Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
node yarnpkg "$@"

View File

@ -0,0 +1,3 @@
PROJECTS_PATH="${HOME}/projects"
MOUNT_PATHS=("${HOME}:${HOME}" "${PROJECTS_PATH}:/projects" "/mnt:/mnt")
#RESTART=1

129
node-interpretter/run.sh Executable file
View File

@ -0,0 +1,129 @@
#!/usr/bin/env bash
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="yoursystemcz/node-interpretter"
IMAGE_VERSION="latest"
SERVICE_NAME="node-interpretter"
source ${SCRIPT_PATH}/../common.shinc
#
# Project specific variables
#
MOUNT_PATHS=()
RESTART=0
source ${SCRIPT_PATH}/shared.env.shinc 2> /dev/null
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
__createLink() {
local continue
local hostPath="${1}"
local binaryLink="${2}"
if [[ -f "${hostPath}" || -L "${hostPath}" ]]; then
__warn "There is already a ${hostPath}, are you sure you want to replace it? [y/(n)]:"
read continue
if [[ "${continue}" == "y" || "${continue}" == "Y" ]]; then
__msg "Linking node binary at ${hostPath}"
sudo rm -f "${hostPath}"
sudo ln -s "${SCRIPT_PATH}/bin/${binaryLink}" "${hostPath}"
[[ $? -ne 0 ]] && __err "Could not link ${binaryLink} binary at ${hostPath}" && return 137
fi
else
__msg "Linking node binary at ${hostPath}"
sudo ln -s "${SCRIPT_PATH}/bin/${binaryLink}" "${hostPath}"
fi
}
__deleteLink() {
local hostPath="${1}"
local binaryLink="${2}"
if [[ -L "${hostPath}" ]]; then
local linkName=$(readlink -f "${hostPath}")
if [[ $? -eq 0 && "${linkName}" == "${SCRIPT_PATH}/bin/${binaryLink}" ]]; then
__warn "Removing link at ${hostPath}"
sudo rm -f ${hostPath}
fi
fi
}
__createLinks() {
__createLink "${NODE_HOST_PATH}" node
__createLink "${NODE_HOST_PATH}js" node
__createLink "${NPM_HOST_PATH}" npm
__createLink "${NPX_HOST_PATH}" npx
__createLink "${YARN_HOST_PATH}" yarn
__createLink "${YARNPKG_HOST_PATH}" yarnpkg
}
__deleteLinks() {
__deleteLink "${NODE_HOST_PATH}" node
__deleteLink "${NODE_HOST_PATH}js" node
__deleteLink "${NPM_HOST_PATH}" npm
__deleteLink "${NPX_HOST_PATH}" npx
__deleteLink "${YARN_HOST_PATH}" yarn
__deleteLink "${YARNPKG_HOST_PATH}" yarnpkg
}
init() {
__createLinks
local mountPaths=""
[[ ${#MOUNT_PATHS[@]} -eq 0 ]] && __err "No MOUNT_PATHS were specified. Please provide these in an .env.shinc file at ${SCRIPT_PATH}/.env.shinc" && return 137
for mountPath in ${MOUNT_PATHS[@]}; do
mountPaths="${mountPaths} -v ${mountPath}"
done
args="${mountPaths} -v ${SCRIPT_PATH}/configs/${SERVICE_NAME/plex_/}:/config"
if [[ ${RESTART} -eq 1 ]]; then
args="${args} --restart=always"
fi
docker create \
--name ${SERVICE_NAME} \
--user $(id -u) \
-v ${SSH_KEY}:/home/node/.ssh/${SSH_KEY_NAME} \
-v ${KNOWN_HOSTS}:/home/node/.ssh/known_hosts \
-v npm-cache:/home/node/.npm \
-e TZ=Europe/Prague \
${args} \
--net host \
--entrypoint /cmd \
${IMAGE_NAME}:${IMAGE_VERSION}
[[ $? -ne 0 ]] && __err "Could not create the docker container" && return 137
docker start ${SERVICE_NAME} && \
docker exec --user 0 ${SERVICE_NAME} mkdir -p /usr/local/lib/node_modules && \
docker exec --user 0 ${SERVICE_NAME} chown $(id -u) /usr/local/lib/node_modules && \
docker exec --user 0 ${SERVICE_NAME} chown $(id -u) /usr/local/bin
}
remove() {
stop
__msg "Removing container... " 0 no
STATUS=$(docker rm ${SERVICE_NAME} 2>&1)
if [[ $? -ne 0 ]]; then
__err "${STATUS}"
return 1
else
__success "[ok]"
fi
__deleteLinks
return 0
}
"$@"
exit $?

View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
SSH_KEY="$HOME/.ssh/id_rsa"
SSH_KEY_NAME="id_rsa"
KNOWN_HOSTS="${HOME}/.ssh/known_hosts"
PROJECTS_PATH="${HOME}/projects"
NODE_HOST_PATH="/usr/local/bin/node"
NPM_HOST_PATH="/usr/local/bin/npm"
NPX_HOST_PATH="/usr/local/bin/npx"
YARN_HOST_PATH="/usr/local/bin/yarn"
YARNPKG_HOST_PATH="/usr/local/bin/yarnpkg"

View File

@ -0,0 +1,8 @@
ARG IMAGE_NAME
ARG IMAGE_VERSION
FROM ${IMAGE_NAME}:${IMAGE_VERSION}
COPY ["./cmd", "/cmd"]
ENTRYPOINT ["node"]

11
node-interpretter/src/cmd Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
echo "Waiting for commands..."
while :
do
sleep 10 &
wait
done
exit 0

View File

@ -2,8 +2,8 @@
SCRIPT_PATH=$( cd "$(dirname "$0")" ; pwd -P )
IMAGE_NAME="chorss/docker-pgadmin4"
IMAGE_VERSION="3.0"
IMAGE_NAME="dpage/pgadmin4"
IMAGE_VERSION="4.1"
SERVICE_NAME=pgadmin
@ -15,6 +15,8 @@ source ${SCRIPT_PATH}/../common.shinc
#
DOMAIN_NAME="pgadmin.loc"
PGADMIN_DEFAULT_EMAIL="admin"
PGADMIN_DEFAULT_PASSWORD="admin"
source ${SCRIPT_PATH}/env.shinc 2> /dev/null
@ -29,8 +31,10 @@ init() {
docker create \
--name ${SERVICE_NAME} \
-e VIRTUAL_HOST=${DOMAIN_NAME} \
-e VIRTUAL_PORT=5050 \
-v pgadmin_data:/data \
-e VIRTUAL_PORT=80 \
-e PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL} \
-e PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD} \
-v pgadmin:/var/lib/pgadmin \
--restart=unless-stopped \
${IMAGE_NAME}:${IMAGE_VERSION}