51 lines
1.6 KiB
Docker
Executable File
51 lines
1.6 KiB
Docker
Executable File
FROM ubuntu:16.04
|
|
|
|
RUN useradd user; \
|
|
apt update; \
|
|
apt -y install \
|
|
build-essential \
|
|
git \
|
|
curl \
|
|
bash \
|
|
mariadb-server; \
|
|
curl -sL https://deb.nodesource.com/setup_11.x | bash -; \
|
|
apt install -y nodejs; \
|
|
mkdir -p /mnt /opt; \
|
|
chown -R user /mnt /opt;
|
|
|
|
RUN mysqld --socket=/tmp/mysql.sock --pid /tmp/mysql.pid & \
|
|
mysqldpid="${!}"; \
|
|
until [ -n "$(ps -C mysqld -o pid= | sed -e 's/^[ ]*//')" ]; do sleep 1; done; \
|
|
until [ -e /tmp/mysql.sock ]; do sleep 1; done; \
|
|
ps aux; \
|
|
echo "GRANT USAGE ON *.* TO cytube3@localhost \
|
|
IDENTIFIED BY 'super_secure_password'; \
|
|
GRANT ALL PRIVILEGES ON cytube3.* TO cytube3@localhost; \
|
|
CREATE DATABASE cytube3;" \
|
|
| mysql --socket /tmp/mysql.sock -u "root"; \
|
|
chmod -R 777 /var/lib/mysql; \
|
|
kill $mysqldpid;
|
|
|
|
WORKDIR /opt
|
|
USER user
|
|
RUN \
|
|
git clone -b 3.0 https://github.com/calzoneman/sync; \
|
|
cd sync; \
|
|
HOME=/opt npm install;
|
|
|
|
RUN echo ' \
|
|
set -e; \
|
|
mysqld --socket=/opt/mysql.sock --pid=/opt/mysql.pid & \
|
|
until test -n $(ps -C mysqld -o pid= | awk '"'"'{print $1}'"'"'); do sleep 1; done; \
|
|
until test -e /opt/mysql.sock; do sleep 1; done; \
|
|
if test -e /mnt/cytube.config.yaml; then cp /mnt/cytube.config.yaml ./config.yaml; else cp config.template.yaml /mnt/; exit 1; fi; \
|
|
HOME=/opt node index.js \
|
|
' > /opt/entrypoint.sh
|
|
|
|
#echo "UPDATE \"users\" SET global_rank=255 WHERE name=\"calzoneman\";" \
|
|
# | mysql --socket /opt/mysql.sock -ucytube3 -psuper_secure_password cytube3; \
|
|
|
|
WORKDIR /opt/sync
|
|
CMD []
|
|
ENTRYPOINT ["bash", "/opt/entrypoint.sh"]
|