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:
parent
ee3fb0fb51
commit
39167327fe
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue