Updated the way docker works
This commit is contained in:
parent
9c50d8ca19
commit
918f4b0e22
103
Docker/bootstrap
103
Docker/bootstrap
|
@ -1,86 +1,35 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
# Written by Netkas 14/01/2021
|
||||||
echo "### Initializing CoffeeHouse-Utils ###"
|
echo "### Initializing CoffeeHouse-Utils ###"
|
||||||
chmod a+x /usr/local/bin/update_server
|
|
||||||
if [ ! -f /firstrun.pass ]; then
|
if [ ! -f /firstrun.pass ]; then
|
||||||
echo "(!) First run! Installing resources..."
|
echo "(!) First run! Installing resources..."
|
||||||
update_server
|
|
||||||
|
echo "Intellivoid Provisioning"
|
||||||
|
echo "Running on x86_64 (docker) [PRODUCTION]"
|
||||||
|
echo " "
|
||||||
|
echo " ## Authentication Required "
|
||||||
|
read -p 'Enter your 25-50 character PAT: ' GIT_API_KEY
|
||||||
|
|
||||||
|
echo " #### Cloning CoffeeHousePy"
|
||||||
|
cd /
|
||||||
|
git clone https://${GIT_API_KEY}@github.com/Intellivoid/CoffeeHousePy.git
|
||||||
|
|
||||||
|
echo " #### Checking out production branch"
|
||||||
|
cd /CoffeeHousePy
|
||||||
|
git checkout nsfw_detection
|
||||||
|
|
||||||
|
echo " #### Setting permissions"
|
||||||
|
chmod a+x /CoffeeHousePy/Docker/coffeehouse
|
||||||
|
chmod a+x /CoffeeHousePy/Docker/installer
|
||||||
|
|
||||||
|
echo " #### Running installer"
|
||||||
|
./CoffeeHouse/Docker/installer
|
||||||
|
|
||||||
echo "(+) Setting boot flag..."
|
echo "(+) Setting boot flag..."
|
||||||
touch /firstrun.pass
|
touch /firstrun.pass
|
||||||
echo "[...] Restarting server in detached mode..."
|
echo "[...] Restarting server in detached mode..."
|
||||||
else
|
else
|
||||||
cd /CoffeeHousePy
|
echo "### Starting main execution point"
|
||||||
|
./CoffeeHouse/Docker/coffeehouse
|
||||||
echo "### Checking for updates ###"
|
|
||||||
git remote update
|
|
||||||
|
|
||||||
UPSTREAM=${1:-'@{u}'}
|
|
||||||
LOCAL=$(git rev-parse @)
|
|
||||||
BASE=$(git merge-base @ "$UPSTREAM")
|
|
||||||
|
|
||||||
if [ $LOCAL = $BASE ]; then
|
|
||||||
echo "### Applying update ###"
|
|
||||||
git pull
|
|
||||||
make clean install
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "### Starting CoffeeHouse-LangDetect ###"
|
|
||||||
make start_langdetect &
|
|
||||||
echo "### Starting CoffeeHouse-SpamDetect ###"
|
|
||||||
make start_spamdetect &
|
|
||||||
echo "### Starting CoffeeHouse-CoreNLP ###"
|
|
||||||
make start_corenlp &
|
|
||||||
echo "### Starting CoffeeHouse-NSFW ###"
|
|
||||||
make start_nsfw &
|
|
||||||
|
|
||||||
echo "### Checking Service Status ###"
|
|
||||||
|
|
||||||
if ! python3 scripts/warmup.py; then
|
|
||||||
echo "ERROR: Some services failed to start successfully during the warmup process"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "### Starting Ping Service ###"
|
|
||||||
make start_ping &
|
|
||||||
|
|
||||||
while sleep 60; do
|
|
||||||
|
|
||||||
# If grep find anything, they exit with 0 status
|
|
||||||
# If they are not 0, then something is wrong
|
|
||||||
|
|
||||||
ps aux | grep coffeehouse_languagedetection | grep -q -v grep
|
|
||||||
LANGDETECT_STATUS=$?
|
|
||||||
if [ $LANGDETECT_STATUS -ne 0 ]; then
|
|
||||||
echo "ERROR: coffeehouse_languagedetection has been terminated, terminating container."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ps aux | grep coffeehouse_spamdetection | grep -q -v grep
|
|
||||||
SPAMDETECT_STATUS=$?
|
|
||||||
if [ $SPAMDETECT_STATUS -ne 0 ]; then
|
|
||||||
echo "ERROR: coffeehouse_spamdetection has been terminated, terminating container."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ps aux | grep coffeehouse_nsfw | grep -q -v grep
|
|
||||||
NSFW_STATUS=$?
|
|
||||||
if [ $NSFW_STATUS -ne 0 ]; then
|
|
||||||
echo "ERROR: coffeehouse_nsfw has been terminated, terminating container."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ps aux | grep coffeehouse_ping | grep -q -v grep
|
|
||||||
PING_STATUS=$?
|
|
||||||
if [ $PING_STATUS -ne 0 ]; then
|
|
||||||
echo "ERROR: coffeehouse_ping has been terminated, terminating container."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ps aux | grep edu.stanford.nlp.pipeline.StanfordCoreNLPServer | grep -q -v grep
|
|
||||||
CORENLP_STATUS=$?
|
|
||||||
if [ $CORENLP_STATUS -ne 0 ]; then
|
|
||||||
echo "ERROR: coffeehouse_corenlp has been terminated, terminating container."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
fi
|
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Written by Netkas 14/01/2021
|
||||||
|
cd /CoffeeHousePy
|
||||||
|
|
||||||
|
echo "### Checking for updates ###"
|
||||||
|
git remote update
|
||||||
|
|
||||||
|
UPSTREAM=${1:-'@{u}'}
|
||||||
|
LOCAL=$(git rev-parse @)
|
||||||
|
BASE=$(git merge-base @ "$UPSTREAM")
|
||||||
|
|
||||||
|
if [ $LOCAL = $BASE ]; then
|
||||||
|
echo "### Applying update ###"
|
||||||
|
git pull
|
||||||
|
make clean install
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "### Starting CoffeeHouse-LangDetect ###"
|
||||||
|
make start_langdetect &
|
||||||
|
echo "### Starting CoffeeHouse-SpamDetect ###"
|
||||||
|
make start_spamdetect &
|
||||||
|
echo "### Starting CoffeeHouse-CoreNLP ###"
|
||||||
|
make start_corenlp &
|
||||||
|
echo "### Starting CoffeeHouse-NSFW ###"
|
||||||
|
make start_nsfw &
|
||||||
|
|
||||||
|
echo "### Checking Service Status ###"
|
||||||
|
|
||||||
|
if ! python3 scripts/warmup.py; then
|
||||||
|
echo "ERROR: Some services failed to start successfully during the warmup process"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "### Starting Ping Service ###"
|
||||||
|
make start_ping &
|
||||||
|
|
||||||
|
while sleep 60; do
|
||||||
|
|
||||||
|
# If grep find anything, they exit with 0 status
|
||||||
|
# If they are not 0, then something is wrong
|
||||||
|
|
||||||
|
ps aux | grep coffeehouse_languagedetection | grep -q -v grep
|
||||||
|
LANGDETECT_STATUS=$?
|
||||||
|
if [ $LANGDETECT_STATUS -ne 0 ]; then
|
||||||
|
echo "ERROR: coffeehouse_languagedetection has been terminated, terminating container."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ps aux | grep coffeehouse_spamdetection | grep -q -v grep
|
||||||
|
SPAMDETECT_STATUS=$?
|
||||||
|
if [ $SPAMDETECT_STATUS -ne 0 ]; then
|
||||||
|
echo "ERROR: coffeehouse_spamdetection has been terminated, terminating container."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ps aux | grep coffeehouse_nsfw | grep -q -v grep
|
||||||
|
NSFW_STATUS=$?
|
||||||
|
if [ $NSFW_STATUS -ne 0 ]; then
|
||||||
|
echo "ERROR: coffeehouse_nsfw has been terminated, terminating container."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ps aux | grep coffeehouse_ping | grep -q -v grep
|
||||||
|
PING_STATUS=$?
|
||||||
|
if [ $PING_STATUS -ne 0 ]; then
|
||||||
|
echo "ERROR: coffeehouse_ping has been terminated, terminating container."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ps aux | grep edu.stanford.nlp.pipeline.StanfordCoreNLPServer | grep -q -v grep
|
||||||
|
CORENLP_STATUS=$?
|
||||||
|
if [ $CORENLP_STATUS -ne 0 ]; then
|
||||||
|
echo "ERROR: coffeehouse_corenlp has been terminated, terminating container."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Written by Netkas 14/01/2021
|
||||||
|
cd /CoffeeHousePy
|
||||||
|
|
||||||
|
echo " #### Preparing System for Python"
|
||||||
|
make system_prep_python
|
||||||
|
|
||||||
|
echo " #### Preparing System for pip"
|
||||||
|
make system_prep_pip
|
||||||
|
|
||||||
|
echo " #### Preparing System for GCC"
|
||||||
|
make system_prep_gcc
|
||||||
|
|
||||||
|
echo " #### Preparing System for Java"
|
||||||
|
make system_prep_java
|
||||||
|
|
||||||
|
echo " #### Building and Installing CoffeeHousePy"
|
||||||
|
make install_full
|
|
@ -1,28 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Written by Netkas 3/01/2021
|
|
||||||
echo "Intellivoid Provisioning"
|
|
||||||
echo "Running on x86_64 (docker) [PRODUCTION]"
|
|
||||||
echo " "
|
|
||||||
echo " ## Authentication Required "
|
|
||||||
read -p 'Enter your 25-50 character PAT: ' GIT_API_KEY
|
|
||||||
|
|
||||||
|
|
||||||
echo " #### Cloning CoffeeHousePy"
|
|
||||||
git clone https://${GIT_API_KEY}@github.com/Intellivoid/CoffeeHousePy.git
|
|
||||||
cd /CoffeeHousePy
|
|
||||||
git checkout nsfw_detection
|
|
||||||
|
|
||||||
echo " #### Preparing System for Python"
|
|
||||||
make system_prep_python
|
|
||||||
|
|
||||||
echo " #### Preparing System for pip"
|
|
||||||
make system_prep_pip
|
|
||||||
|
|
||||||
echo " #### Preparing System for GCC"
|
|
||||||
make system_prep_gcc
|
|
||||||
|
|
||||||
echo " #### Preparing System for Java"
|
|
||||||
make system_prep_java
|
|
||||||
|
|
||||||
echo " #### Building and Installing CoffeeHousePy"
|
|
||||||
make install_full
|
|
|
@ -4,7 +4,6 @@ MAINTAINER Diederik Noordhuis (diederikn@intellivoid.net)
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
COPY Docker/bootstrap /usr/local/bin/bootstrap
|
COPY Docker/bootstrap /usr/local/bin/bootstrap
|
||||||
COPY Docker/update_server /usr/local/bin/update_server
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|
Loading…
Reference in New Issue