Use inbuilt init script
This commit is contained in:
parent
6901d10d54
commit
0b52d52f4a
4 changed files with 14 additions and 34 deletions
|
@ -7,6 +7,8 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- postgresdata:/var/lib/postgresql/data
|
- postgresdata:/var/lib/postgresql/data
|
||||||
|
- ./config/sql:/config/sql
|
||||||
|
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: invidious
|
POSTGRES_DB: invidious
|
||||||
POSTGRES_PASSWORD: kemal
|
POSTGRES_PASSWORD: kemal
|
||||||
|
|
|
@ -3,9 +3,3 @@ FROM postgres:10
|
||||||
# Do not require a PostgreSQL superuser password.
|
# Do not require a PostgreSQL superuser password.
|
||||||
# See https://github.com/docker-library/postgres/issues/681.
|
# See https://github.com/docker-library/postgres/issues/681.
|
||||||
ENV POSTGRES_HOST_AUTH_METHOD trust
|
ENV POSTGRES_HOST_AUTH_METHOD trust
|
||||||
|
|
||||||
ADD ./config/sql /config/sql
|
|
||||||
ADD ./docker/entrypoint.postgres.sh /entrypoint.sh
|
|
||||||
|
|
||||||
ENTRYPOINT [ "/entrypoint.sh" ]
|
|
||||||
CMD [ "postgres" ]
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
CMD="$@"
|
|
||||||
if [ ! -f /var/lib/postgresql/data/setupFinished ]; then
|
|
||||||
echo "### first run - setting up invidious database"
|
|
||||||
/usr/local/bin/docker-entrypoint.sh postgres &
|
|
||||||
sleep 10
|
|
||||||
until runuser -l postgres -c 'pg_isready' 2>/dev/null; do
|
|
||||||
>&2 echo "### Postgres is unavailable - waiting"
|
|
||||||
sleep 5
|
|
||||||
done
|
|
||||||
>&2 echo "### importing table schemas"
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/channels.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/videos.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/channel_videos.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/users.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/session_ids.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/nonces.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/annotations.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/playlists.sql'
|
|
||||||
su postgres -c 'psql invidious kemal < config/sql/playlist_videos.sql'
|
|
||||||
touch /var/lib/postgresql/data/setupFinished
|
|
||||||
echo "### invidious database setup finished"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "running postgres /usr/local/bin/docker-entrypoint.sh $CMD"
|
|
||||||
exec /usr/local/bin/docker-entrypoint.sh $CMD
|
|
12
docker/init-invidious-db.sh
Executable file
12
docker/init-invidious-db.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -eou pipefail
|
||||||
|
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/channels.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/videos.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/channel_videos.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/users.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/session_ids.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/nonces.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/annotations.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/playlists.sql
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < config/sql/playlist_videos.sql
|
Loading…
Reference in a new issue