mirror of
https://github.com/ggogel/seafile-containerized.git
synced 2024-11-16 09:01:38 +00:00
update
This commit is contained in:
parent
ebd3744909
commit
a53801892f
47
image/base/my_init.d/99_mysql_setup.sh
Executable file
47
image/base/my_init.d/99_mysql_setup.sh
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Init mysql data dir.
|
||||
# Borrowed from https://github.com/fideloper/docker-mysql/blob/master/etc/my_init.d/99_mysql_setup.sh
|
||||
|
||||
if [[ ! -d /var/lib/mysql/mysql ]]; then
|
||||
echo 'Rebuilding mysql data dir'
|
||||
|
||||
chown -R mysql.mysql /var/lib/mysql
|
||||
|
||||
mysql_install_db >/var/log/mysql-bootstrap.log 2>&1
|
||||
# TODO: print the log if mysql_install_db fails
|
||||
|
||||
rm -rf /var/run/mysqld/*
|
||||
|
||||
echo 'Starting mysqld'
|
||||
mysqld_safe >>/var/log/mysql-bootstrap.log 2>&1 &
|
||||
|
||||
echo 'Waiting for mysqld to come online'
|
||||
# The sleep 1 is there to make sure that inotifywait starts up before the socket is created
|
||||
while [[ ! -S /var/run/mysqld/mysqld.sock ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo 'Fixing root password'
|
||||
/usr/bin/mysqladmin -u root password ''
|
||||
|
||||
# if [ -d /var/lib/mysql/setup ]; then
|
||||
# echo 'Found /var/lib/mysql/setup - scanning for SQL scripts'
|
||||
# for sql in $(ls /var/lib/mysql/setup/*.sql 2>/dev/null | sort); do
|
||||
# echo 'Running script:' $sql
|
||||
# mysql -uroot -proot -e "\. $sql"
|
||||
# mv $sql $sql.processed
|
||||
# done
|
||||
# else
|
||||
# echo 'No setup directory with extra sql scripts to run'
|
||||
# fi
|
||||
|
||||
echo 'Shutting down mysqld'
|
||||
mysqladmin -uroot shutdown
|
||||
|
||||
retry=0 maxretry=10
|
||||
while [[ -e /var/run/mysqld/mysqld.sock && $retry -le $maxretry ]]; do
|
||||
retry=$((retry+1))
|
||||
sleep 1
|
||||
done
|
||||
fi
|
4
image/base/services/memcached.sh
Executable file
4
image/base/services/memcached.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
# `/sbin/setuser memcache` runs the given command as the user `memcache`.
|
||||
# If you omit that part, the command will be run as root.
|
||||
exec /sbin/setuser memcache /usr/bin/memcached >>/var/log/memcached.log 2>&1
|
18
image/base/services/mysql.sh
Executable file
18
image/base/services/mysql.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
shutdown_mysql() {
|
||||
if [[ -S /var/run/mysqld/mysqld.sock ]]; then
|
||||
mysqladmin -u root shutdown || true
|
||||
fi
|
||||
}
|
||||
|
||||
trap shutdown_mysql EXIT
|
||||
|
||||
mkdir -p /var/run/mysqld
|
||||
chown mysql:mysql /var/run/mysqld
|
||||
|
||||
rm -f /var/lib/mysql/aria_log_control
|
||||
|
||||
/sbin/setuser mysql /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 >/var/log/mysql.log 2>&1
|
37
scripts/auto_renew_crt.sh
Executable file
37
scripts/auto_renew_crt.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
ssldir=${1:?"error params"}
|
||||
domain=${2:?"error params"}
|
||||
|
||||
letsencryptdir=$ssldir/letsencrypt
|
||||
letsencrypt_script=$letsencryptdir/acme_tiny.py
|
||||
|
||||
ssl_account_key=${domain}.account.key
|
||||
ssl_csr=${domain}.csr
|
||||
ssl_key=${domain}.key
|
||||
ssl_crt=${domain}.crt
|
||||
renew_cert_script=/scripts/renew_cert.sh
|
||||
|
||||
if [[ ! -x ${renew_cert_script} ]]; then
|
||||
cat > ${renew_cert_script} << EOF
|
||||
#!/bin/bash
|
||||
python ${letsencrypt_script} --account-key ${ssldir}/${ssl_account_key} --csr ${ssldir}/${ssl_csr} --acme-dir /var/www/challenges/ > ${ssldir}/${ssl_crt} || exit
|
||||
$(which nginx) -s reload
|
||||
EOF
|
||||
|
||||
chmod u+x ${renew_cert_script}
|
||||
|
||||
if [[ ! -d "/var/www/challenges" ]]; then
|
||||
mkdir -p /var/www/challenges
|
||||
fi
|
||||
|
||||
cat >> /etc/crontab << EOF
|
||||
00 1 1 * * root /scripts/renew_cert.sh 2>> /var/log/acme_tiny.log
|
||||
EOF
|
||||
|
||||
echo 'Created a crontab to auto renew the cert for letsencrypt.'
|
||||
else
|
||||
echo 'Found existing the script for renew the cert.'
|
||||
echo 'Skip create the crontab for letscncrypt since maybe we have created before.'
|
||||
fi
|
Loading…
Reference in a new issue