mirror of https://github.com/nyaadevs/nyaa.git
51 lines
1.4 KiB
Bash
Executable File
51 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# set +x
|
|
|
|
pushd /nyaa
|
|
|
|
echo 'Waiting for MySQL to start up'
|
|
while ! echo HELO | nc mariadb 3306 &>/dev/null; do
|
|
sleep 1
|
|
done
|
|
echo 'DONE'
|
|
|
|
if ! [ -f /elasticsearch-sync/flag-db_create ]; then
|
|
python3 ./db_create.py
|
|
touch /elasticsearch-sync/flag-db_create
|
|
fi
|
|
|
|
if ! [ -f /elasticsearch-sync/flag-db_migrate ]; then
|
|
python3 ./db_migrate.py stamp head
|
|
touch /elasticsearch-sync/flag-db_migrate
|
|
fi
|
|
|
|
echo 'Waiting for ES to start up'
|
|
while ! echo HELO | nc elasticsearch 9200 &>/dev/null; do
|
|
sleep 1
|
|
done
|
|
echo 'DONE'
|
|
|
|
echo 'Waiting for ES to be ready'
|
|
while ! curl -s -XGET 'elasticsearch:9200/_cluster/health?pretty=true&wait_for_status=green' &>/dev/null; do
|
|
sleep 1
|
|
done
|
|
echo 'DONE'
|
|
|
|
if ! [ -f /elasticsearch-sync/flag-create_es ]; then
|
|
# @source create_es.sh
|
|
# create indices named "nyaa" and "sukebei", these are hardcoded
|
|
curl -v -XPUT 'elasticsearch:9200/nyaa?pretty' -H"Content-Type: application/yaml" --data-binary @es_mapping.yml
|
|
curl -v -XPUT 'elasticsearch:9200/sukebei?pretty' -H"Content-Type: application/yaml" --data-binary @es_mapping.yml
|
|
touch /elasticsearch-sync/flag-create_es
|
|
fi
|
|
|
|
if ! [ -f /elasticsearch-sync/flag-import_to_es ]; then
|
|
python3 ./import_to_es.py | tee /elasticsearch-sync/import.out
|
|
grep -A1 'Save the following' /elasticsearch-sync/import.out | tail -1 > /elasticsearch-sync/pos.json
|
|
touch /elasticsearch-sync/flag-import_to_es
|
|
fi
|
|
|
|
echo 'Starting the Flask app'
|
|
/usr/local/bin/uwsgi /nyaa/.docker/uwsgi.config.ini
|