mirror of
				https://gitea.invidious.io/iv-org/documentation
				synced 2025-06-05 22:19:26 +02:00 
			
		
		
		
	Add simplified Docker Compose tutorial (#52)
* Add simplified Docker Compose tutorial references [issue #1903](https://github.com/iv-org/invidious/issues/1903) Revised Docker walkthrough in `Installation.md` Includes up to date Docker Compose file with Quay image replacing the now-defunct Docker Hub image Note: In the Docker Compose file, the POSTGRES_USER env var can't be changed because the username `kemal` is hard coded into the initial DB migration files found in `./config/sql/` * Replaced link to gist with contents of Compose file
This commit is contained in:
		| @@ -20,25 +20,106 @@ After installation take a look at the [Post-install steps](#post-install-configu | |||||||
|  |  | ||||||
| ## Docker | ## Docker | ||||||
|  |  | ||||||
| ### Build and start cluster | > **Use of the Invidious image hosted on Docker Hub is highly discouraged.** The current maintainers no longer have access to the account and it is considered deprecated.  [The image hosted on Quay](https://quay.io/repository/invidious/invidious) is recommended as an alternative. This change is reflected in the `docker-compose.yml` file used in this walkthrough. Also, unlike Docker Hub, [Quay is open source](https://github.com/quay/quay/blob/master/LICENSE). | ||||||
|  | {.is-warning} | ||||||
|  |  | ||||||
|  | Ensure [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/) are installed before beginning. | ||||||
|  |  | ||||||
|  | ### Make directory | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $ mkdir invidious | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### Create Docker Compose file | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $ cd invidious | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $ nano docker-compose.yml | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Here is a working Compose setup: | ||||||
|  | ```docker | ||||||
|  | version: "2.4" | ||||||
|  | services: | ||||||
|  |   postgres: | ||||||
|  |     image: postgres:10 | ||||||
|  |     restart: always | ||||||
|  |     networks: | ||||||
|  |       - invidious | ||||||
|  |     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_USER: kemal | ||||||
|  |       POSTGRES_PASSWORD: kemal | ||||||
|  |     healthcheck: | ||||||
|  |       test: ["CMD", "pg_isready", "-U", "postgres"] | ||||||
|  |   invidious: | ||||||
|  |     image: quay.io/invidious/invidious:latest | ||||||
|  |     restart: always | ||||||
|  |     networks: | ||||||
|  |       - invidious | ||||||
|  |     mem_limit: 1024M | ||||||
|  |     cpus: 0.5 | ||||||
|  |     ports: | ||||||
|  |       - "127.0.0.1:3000:3000" | ||||||
|  |     environment: | ||||||
|  |       INVIDIOUS_CONFIG: | | ||||||
|  |         channel_threads: 1 | ||||||
|  |         check_tables: true | ||||||
|  |         feed_threads: 1 | ||||||
|  |         db: | ||||||
|  |           dbname: invidious | ||||||
|  |           user: kemal | ||||||
|  |           password: kemal | ||||||
|  |           host: postgres | ||||||
|  |           port: 5432 | ||||||
|  |         full_refresh: false | ||||||
|  |         https_only: false | ||||||
|  |         domain:  | ||||||
|  |       # external_port: | ||||||
|  |     depends_on: | ||||||
|  |       - postgres | ||||||
|  |  | ||||||
|  | volumes: | ||||||
|  |   postgresdata: | ||||||
|  |  | ||||||
|  | networks: | ||||||
|  |   invidious: | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | > The environment variable `POSTGRES_USER` cannot be changed. The SQL config files that run the initial database migrations are hard-coded with the username `kemal`. | ||||||
|  | {.is-warning} | ||||||
|  |  | ||||||
|  | ### Start Invidious | ||||||
|  |  | ||||||
| ```bash | ```bash | ||||||
| $ docker-compose up | $ docker-compose up | ||||||
| ``` | ``` | ||||||
|  | or  | ||||||
|  | ```bash | ||||||
|  | $ docker-compose up -d | ||||||
|  | ``` | ||||||
|  | to run it in the background. | ||||||
|  |  | ||||||
| Then visit `localhost:3000` in your browser. | Then, visit `localhost:3000` in your browser. | ||||||
|  |  | ||||||
| ### Rebuild cluster | ### Stop Invidious | ||||||
|  |  | ||||||
| ```bash | ```bash | ||||||
| $ docker-compose build | $ docker-compose down | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### Delete data and rebuild | ### Delete data | ||||||
|  |  | ||||||
| ```bash | ```bash | ||||||
| $ docker volume rm invidious_postgresdata | $ docker volume rm invidious_postgresdata | ||||||
| $ docker-compose build |  | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ## Manual installation | ## Manual installation | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user