move docker-specific stuff into its own dir
This commit is contained in:
parent
c9ba2c4333
commit
7d1b0c9837
|
@ -2,7 +2,7 @@ FROM alpine:3.6
|
|||
|
||||
ADD . /app
|
||||
|
||||
RUN cd app && sh container-install.sh
|
||||
RUN cd app && sh docker/container-install.sh
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
@ -27,4 +27,4 @@ EXPOSE 8080
|
|||
# EXPOSE 1337
|
||||
# EXPOSE 8443
|
||||
|
||||
CMD ["sh", "run.sh"]
|
||||
CMD ["sh", "docker/docker-run.sh"]
|
||||
|
|
|
@ -80,11 +80,6 @@ Installing
|
|||
Installation instructions are available here: https://github.com/calzoneman/sync/wiki/CyTube-3.0-Installation-Guide
|
||||
|
||||
|
||||
Docker
|
||||
------
|
||||
|
||||
`docker pull davidsiaw/sync:3.0`
|
||||
|
||||
Feedback
|
||||
--------
|
||||
|
||||
|
|
|
@ -5,5 +5,3 @@ apk add build-base python git nodejs nodejs-npm mysql mysql-client curl gettext
|
|||
npm install npm@latest -g
|
||||
npm install
|
||||
npm run build-server
|
||||
|
||||
|
64
docker/docker-run.sh
Normal file
64
docker/docker-run.sh
Normal file
|
@ -0,0 +1,64 @@
|
|||
#!/bin/sh
|
||||
#plagiarized from wangxian/alpine-mysql
|
||||
if [ -d /app/mysql ]; then
|
||||
echo "[i] MySQL directory already present, skipping creation"
|
||||
else
|
||||
echo "[i] MySQL data directory not found, creating initial DBs"
|
||||
|
||||
mysql_install_db --user=root > /dev/null
|
||||
|
||||
if [ "$MYSQL_ROOT_PASSWORD" = "" ]; then
|
||||
MYSQL_ROOT_PASSWORD=111111
|
||||
echo "[i] MySQL root Password: $MYSQL_ROOT_PASSWORD"
|
||||
fi
|
||||
|
||||
MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
MYSQL_USER=${MYSQL_USER}
|
||||
MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
|
||||
if [ ! -d "/run/mysqld" ]; then
|
||||
mkdir -p /run/mysqld
|
||||
fi
|
||||
|
||||
tfile=`mktemp`
|
||||
if [ ! -f "$tfile" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
cat << EOF > $tfile
|
||||
USE mysql;
|
||||
FLUSH PRIVILEGES;
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "$MYSQL_ROOT_PASSWORD" WITH GRANT OPTION;
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
|
||||
DROP USER ''@'${HOSTNAME}';
|
||||
DROP USER 'root'@'${HOSTNAME}';
|
||||
DROP USER 'root'@'localhost';
|
||||
DROP USER 'root'@'127.0.0.1';
|
||||
DROP USER 'root'@'::1';
|
||||
DROP USER ''@'localhost';
|
||||
UPDATE user SET password=PASSWORD("${MYSQL_ROOT_PASSWORD}") WHERE user='root' AND host='%';
|
||||
EOF
|
||||
|
||||
if [ "$MYSQL_DATABASE" != "" ]; then
|
||||
echo "[i] Creating database: $MYSQL_DATABASE"
|
||||
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $tfile
|
||||
|
||||
if [ "$MYSQL_USER" != "" ]; then
|
||||
echo "[i] Creating user: $MYSQL_USER with password $MYSQL_PASSWORD"
|
||||
echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* to '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" >> $tfile
|
||||
fi
|
||||
fi
|
||||
|
||||
/usr/bin/mysqld --user=root --bootstrap --verbose=0 < $tfile
|
||||
rm -f $tfile
|
||||
fi
|
||||
|
||||
envsubst < docker/config.docker.yaml > config.yaml
|
||||
|
||||
mysqld --user=root &
|
||||
while :
|
||||
do
|
||||
node index.js
|
||||
sleep 2
|
||||
done
|
||||
|
58
run.sh
58
run.sh
|
@ -1,62 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
#plagiarized from wangxian/alpine-mysql
|
||||
if [ -d /app/mysql ]; then
|
||||
echo "[i] MySQL directory already present, skipping creation"
|
||||
else
|
||||
echo "[i] MySQL data directory not found, creating initial DBs"
|
||||
|
||||
mysql_install_db --user=root > /dev/null
|
||||
|
||||
if [ "$MYSQL_ROOT_PASSWORD" = "" ]; then
|
||||
MYSQL_ROOT_PASSWORD=111111
|
||||
echo "[i] MySQL root Password: $MYSQL_ROOT_PASSWORD"
|
||||
fi
|
||||
|
||||
MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
MYSQL_USER=${MYSQL_USER}
|
||||
MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
|
||||
if [ ! -d "/run/mysqld" ]; then
|
||||
mkdir -p /run/mysqld
|
||||
fi
|
||||
|
||||
tfile=`mktemp`
|
||||
if [ ! -f "$tfile" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
cat << EOF > $tfile
|
||||
USE mysql;
|
||||
FLUSH PRIVILEGES;
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "$MYSQL_ROOT_PASSWORD" WITH GRANT OPTION;
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
|
||||
DROP USER ''@'${HOSTNAME}';
|
||||
DROP USER 'root'@'${HOSTNAME}';
|
||||
DROP USER 'root'@'localhost';
|
||||
DROP USER 'root'@'127.0.0.1';
|
||||
DROP USER 'root'@'::1';
|
||||
DROP USER ''@'localhost';
|
||||
UPDATE user SET password=PASSWORD("${MYSQL_ROOT_PASSWORD}") WHERE user='root' AND host='%';
|
||||
EOF
|
||||
|
||||
if [ "$MYSQL_DATABASE" != "" ]; then
|
||||
echo "[i] Creating database: $MYSQL_DATABASE"
|
||||
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $tfile
|
||||
|
||||
if [ "$MYSQL_USER" != "" ]; then
|
||||
echo "[i] Creating user: $MYSQL_USER with password $MYSQL_PASSWORD"
|
||||
echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* to '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" >> $tfile
|
||||
fi
|
||||
fi
|
||||
|
||||
/usr/bin/mysqld --user=root --bootstrap --verbose=0 < $tfile
|
||||
rm -f $tfile
|
||||
fi
|
||||
|
||||
envsubst < config.docker.yaml > config.yaml
|
||||
|
||||
mysqld --user=root &
|
||||
while :
|
||||
do
|
||||
node index.js
|
||||
|
|
Loading…
Reference in a new issue