2019-07-03 15:18:29 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# Bootstrap script that gets executed in new Docker containers
|
|
|
|
|
2022-03-26 09:24:38 +00:00
|
|
|
LD_SERVER_PORT="${LD_SERVER_PORT:-9090}"
|
|
|
|
|
2019-07-04 23:26:52 +00:00
|
|
|
# Create data folder if it does not exist
|
|
|
|
mkdir -p data
|
2023-01-21 15:36:10 +00:00
|
|
|
# Create favicon folder if it does not exist
|
|
|
|
mkdir -p data/favicons
|
2024-04-01 13:19:38 +00:00
|
|
|
# Create assets folder if it does not exist
|
|
|
|
mkdir -p data/assets
|
2020-02-02 15:27:18 +00:00
|
|
|
|
2024-01-28 22:58:03 +00:00
|
|
|
# Generate secret key file if it does not exist
|
|
|
|
python manage.py generate_secret_key
|
2019-07-03 15:18:29 +00:00
|
|
|
# Run database migration
|
|
|
|
python manage.py migrate
|
2023-05-30 07:41:53 +00:00
|
|
|
# Enable WAL journal mode for SQLite databases
|
|
|
|
python manage.py enable_wal
|
2022-09-04 06:08:15 +00:00
|
|
|
# Create initial superuser if defined in options / environment variables
|
|
|
|
python manage.py create_initial_superuser
|
2024-04-07 09:11:14 +00:00
|
|
|
# Migrate legacy background tasks to Huey
|
|
|
|
python manage.py migrate_tasks
|
2019-07-03 15:18:29 +00:00
|
|
|
|
2020-02-02 15:27:18 +00:00
|
|
|
# Ensure the DB folder is owned by the right user
|
|
|
|
chown -R www-data: /etc/linkding/data
|
|
|
|
|
2021-09-04 20:31:04 +00:00
|
|
|
# Start background task processor using supervisord, unless explicitly disabled
|
|
|
|
if [ "$LD_DISABLE_BACKGROUND_TASKS" != "True" ]; then
|
|
|
|
supervisord -c supervisord.conf
|
|
|
|
fi
|
|
|
|
|
2019-07-03 15:18:29 +00:00
|
|
|
# Start uwsgi server
|
2023-01-07 18:49:11 +00:00
|
|
|
exec uwsgi --http :$LD_SERVER_PORT uwsgi.ini
|