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"]