Commit Graph

67 Commits (4f4b19a962999ad191b1312e53aa44c8180d22fa)

Author SHA1 Message Date
Samantaz Fox eba311baa9
Merge pull request from syeopite/dep-manager-for-videojs-stuff
Add dependency manager script for videojs stuff
Samantaz Fox 7dbbe27cdd
Use --production flag for shards installation on docker
Emilien Devos d928b9eaad switch to alpine 3.15 for using crystal 1.2.2
mcnesium 9f9020e422
Double quote variable to prevent sh error ()
TheFrenchGhosty 12c219ee6c
Bump Crystal version for CI and Docker to 1.2.2
Émilien Devos be1a390b50
Upgrade crystal on ARM64 docker image
Samantaz Fox 5eb83bb39c
Bump crystal version for ARM docker container to 1.2.0-r0 ()
Émilien Devos cc10e8ca5d
bump version number for crystal alpine linux package
JuniorJPDJ df968d1919
variable postgres username and database name ()
syeopite 347c189f3f
Merge pull request from Rjevski/idempotent-database-migrations
Make DB migrations idempotent.
syeopite 6e1b62aedf
Fix docker
Clone scripts folder to docker container

Copy videojs-dependencies.yml to docker container

Copy assets folder eariler in build process

Copy assets folder from builder
Emilien Devos 0e37e42abd use crystal 1.1.1 for the ARM docker image
syeopite dd141daefd
Make building in release mode optional ()
Emilien Devos 891116f13b docker images with --release for more stability
fixes 
Emilien Devos 33724d40a8 moved APKBUILD files to iv-org/lsquic.cr/docker
and remove docker cache
Emilien Devos d78e5281fe use pre-compiled lsquic docker image
from https://quay.io/repository/invidious/lsquic-compiled
fixes 
Émilien Devos c60fccd7f6
Update crystal docker image to 1.1.1
syeopite 46f8b04e40
Revert "bump crystal docker image version +"
This reverts commit f2b69fd812.

Crystal 1.1.0 is not supported by Invidious due to upstream issue. See
Emilien Devos f2b69fd812 bump crystal docker image version +
use alpine:edge docker image in order to use crystal 1.1.1
syeopite 637a5cc14f
Add CI for testing arm64 docker ()
* Add CI for testing build of docker-arm64

* Add specs check to dockerfiles
nemunaire aa3608f0af
Include liblsquic build in dockerfile + add support for ARM64 on Docker ()
Co-authored-by: Emilien Devos <contact@emiliendevos.be>
syeopite 392a363d02
Update Dockerfile for crystal 1.0
Maykin-99 a0fe229c7a
make assets, config and locales readable only
Maykin-99 f876cd5a6a
Revert "Set correct permissions in Dockerfile"
Maykin-99 074df7637b
Set correct permissions in Dockerfile
When having a `umask` of `xx7` (e.g. `027`) on the host machine then the directories `assets`, `config` and `locales` don't become readable to the `invidious` user inside the Docker container since the `COPY` commands result in files owned by `root` with the same file permissions like on the host (`640` in my case).

By adding `--chown=invidious` to the `COPY` command we ensure the `invidious` user can read these files.
Perflyst c0063ea09b
Add yaml-static as build dependency
Emilien Devos 3035f0119f Revert "Bump dependencies"
This reverts commit abe283b38e.
saltycrys abe283b38e Bump dependencies
saltycrys 689795e8bc Update to Crystal 0.36.1
saltycrys 5311683d43 Update to Crystal 0.36.0
Crystal versions below `0.36.0` are no longer supported.
Andre Borie ffa9e5dfab Make migrations (mostly) idempotent.
saltycrys c5136ca4d6 Download liblsquic.a from iv-org/liblsquic-static-alpine
This only affects Docker installs.
Regular builds still use the binary shipped with `lsquic.cr`.
Slinky-Wrangle-Punch a291b29c6f
add EXPOSE port command in Dockerfile ()
added EXPOSE (see https://docs.docker.com/engine/reference/builder/#expose) in the Dockerfile. With this the reverse proxy Traefik can detect the port automatically.
saltycrys b566c4ba1a
Untrack config.yml ()
* Untrack config.yml

`config/config.yml` has been untracked and moved to `config/config.example.yml`.

The Dockerfile has been updated to copy all `config/config.*` files and to try
to move `config/config.example.yml` to `config/config.yml`. If a user supplied
`config/config.yml` exists it is not overwritten.

* Update Dockerfile to use `shard.lock`

* Fix tests
resttime ccbbe81141 Use bash in the shebang
Sandro Jäckel e16d951da0
Create postgres user to avoid fatal warning
Sandro Jäckel 7b2b19b4ba
Remove empty Dockerfile
Sandro Jäckel 8ebfaed546
Remove no longer needed POSTGRES_HOST_AUTH_METHOD
Sandro Jäckel 0b52d52f4a
Use inbuilt init script
Sandro Jäckel 6901d10d54
Set magic ENV varialbes for user, default DB
instead of doing it ourselves
Omar Roth b73c6e94c0
Bump docker dependencies
Sandro bf2bd519eb
Switch to official crystallang alpine image ()
* Switch to official crystal-lang alpine image
Omar Roth 8305af8f10
Update docker build
tleydxdy bd2c7e3bb9
Verify download, fix invidious file permission ()
* Fix docker
Omar Roth 61150c74d2
Move privacy type into playlists.sql
leonklingele c80c5631f0
docker: do not require password for PostgreSQL superuser, docker,kubernetes: create "privacy" type before using it, travis: do not run "docker-compose up" in detached mode ()
* docker: do not require password for PostgreSQL superuser

A password is now required by the postgres Docker image which makes
initial setup (and our CI build) fail with the following error:

    postgres_1   | Error: Database is uninitialized and superuser password is not specified.
    postgres_1   |        You must specify POSTGRES_PASSWORD for the superuser. Use
    postgres_1   |        "-e POSTGRES_PASSWORD=password" to set it in "docker run".
    postgres_1   |
    postgres_1   |        You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections
    postgres_1   |        without a password. This is *not* recommended. See PostgreSQL
    postgres_1   |        documentation about "trust":
    postgres_1   |        https://www.postgresql.org/docs/current/auth-trust.html

See https://github.com/docker-library/postgres/issues/681.

* docker,kubernetes: create PostgreSQL "privacy" type before using it

Fixes the following error when setting up the database:

    postgres_1   | 2020-02-21 01:01:22.371 UTC [172] ERROR:  type "privacy" does not exist at character 200
    postgres_1   | 2020-02-21 01:01:22.371 UTC [172] STATEMENT:  CREATE TABLE public.playlists
    postgres_1   | 	(
    postgres_1   | 	    title text,
    postgres_1   | 	    id text primary key,
    postgres_1   | 	    author text,
    postgres_1   | 	    description text,
    postgres_1   | 	    video_count integer,
    postgres_1   | 	    created timestamptz,
    postgres_1   | 	    updated timestamptz,
    postgres_1   | 	    privacy privacy,
    postgres_1   | 	    index int8[]
    postgres_1   | 	);
    postgres_1   | ERROR:  type "privacy" does not exist
    postgres_1   | LINE 10:     privacy privacy,

* travis: do not run "docker-compose up" in detached mode

Rather, allow database to finish its setup procedure and grant
Invidious time to launch.
Omar Roth 9de57021a3
Update postgres setup
Omar Roth 28669d940a
Remove --release from dockerfile
tleydxdy ae24360c02
Proper fix for docker build
return to static linking
Omar Roth d46b26e3bc
Use QUIC for connections to YouTube