Files
video/cytube/own/Dockerfile
2021-09-14 06:52:20 -06:00

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