mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 04:32:02 +00:00 
			
		
		
		
	Merge pull request #1211 from SuperSandro2000/improve-postgres
Improve postgres Dockerfile
This commit is contained in:
		| @@ -1,14 +1,18 @@ | ||||
| version: '3' | ||||
| services: | ||||
|   postgres: | ||||
|     build: | ||||
|       context: . | ||||
|       dockerfile: docker/Dockerfile.postgres | ||||
|     image: postgres:10 | ||||
|     restart: unless-stopped | ||||
|     volumes: | ||||
|       - postgresdata:/var/lib/postgresql/data | ||||
|       - ./config/sql:/config/sql | ||||
|       - ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh | ||||
|     environment: | ||||
|       POSTGRES_DB: invidious | ||||
|       POSTGRES_PASSWORD: kemal | ||||
|       POSTGRES_USER: kemal | ||||
|     healthcheck: | ||||
|       test: ["CMD", "pg_isready", "-U", "postgres"]  | ||||
|       test: ["CMD", "pg_isready", "-U", "postgres"] | ||||
|   invidious: | ||||
|     build: | ||||
|       context: . | ||||
|   | ||||
| @@ -1,12 +0,0 @@ | ||||
| FROM postgres:10 | ||||
|  | ||||
| ENV POSTGRES_USER postgres | ||||
| # Do not require a PostgreSQL superuser password. | ||||
| # See https://github.com/docker-library/postgres/issues/681. | ||||
| ENV POSTGRES_HOST_AUTH_METHOD trust | ||||
|  | ||||
| ADD ./config/sql /config/sql | ||||
| ADD ./docker/entrypoint.postgres.sh /entrypoint.sh | ||||
|  | ||||
| ENTRYPOINT [ "/entrypoint.sh" ] | ||||
| CMD [ "postgres" ] | ||||
| @@ -1,30 +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 'createdb invidious' | ||||
|     su postgres -c 'psql -c "CREATE USER kemal WITH PASSWORD '"'kemal'"'"' | ||||
|     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 | ||||
							
								
								
									
										16
									
								
								docker/init-invidious-db.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								docker/init-invidious-db.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| #!/bin/sh | ||||
| set -eou pipefail | ||||
|  | ||||
| psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL | ||||
|   CREATE USER postgres; | ||||
| EOSQL | ||||
|  | ||||
| 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 | ||||
		Reference in New Issue
	
	Block a user
	 Perflyst
					Perflyst