Commit graph

43 commits

Author SHA1 Message Date
Maykin-99 f876cd5a6a
Revert "Set correct permissions in Dockerfile" 2021-05-09 10:26:08 +00:00
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.
2021-05-05 08:16:11 +00:00
Perflyst c0063ea09b
Add yaml-static as build dependency 2021-03-17 18:59:02 +01:00
Emilien Devos 3035f0119f Revert "Bump dependencies"
This reverts commit abe283b38e.
2021-03-13 22:14:27 +01:00
saltycrys abe283b38e Bump dependencies 2021-03-03 08:34:31 +01:00
saltycrys 689795e8bc Update to Crystal 0.36.1 2021-02-04 05:13:29 +01:00
saltycrys 5311683d43 Update to Crystal 0.36.0
Crystal versions below `0.36.0` are no longer supported.
2021-02-02 20:01:02 +01:00
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`.
2021-01-03 19:23:54 +01:00
Slinky-Wrangle-Punch a291b29c6f
add EXPOSE port command in Dockerfile (#1568)
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.
2020-12-13 19:49:54 +01:00
saltycrys b566c4ba1a
Untrack config.yml (#1557)
* 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
2020-12-10 08:18:30 +01:00
resttime ccbbe81141 Use bash in the shebang 2020-08-19 13:36:35 -05:00
Sandro Jäckel e16d951da0
Create postgres user to avoid fatal warning 2020-07-25 21:51:58 +02:00
Sandro Jäckel 7b2b19b4ba
Remove empty Dockerfile 2020-07-25 21:51:58 +02:00
Sandro Jäckel 8ebfaed546
Remove no longer needed POSTGRES_HOST_AUTH_METHOD 2020-07-25 21:51:57 +02:00
Sandro Jäckel 0b52d52f4a
Use inbuilt init script 2020-07-25 21:51:57 +02:00
Sandro Jäckel 6901d10d54
Set magic ENV varialbes for user, default DB
instead of doing it ourselves
2020-07-25 21:51:39 +02:00
Omar Roth b73c6e94c0
Bump docker dependencies 2020-07-19 22:26:41 -04:00
Sandro bf2bd519eb
Switch to official crystallang alpine image (#1247)
* Switch to official crystal-lang alpine image
2020-06-16 18:04:41 -05:00
Omar Roth 8305af8f10
Update docker build 2020-05-29 20:06:43 -05:00
tleydxdy bd2c7e3bb9
Verify download, fix invidious file permission (#949)
* Fix docker
2020-04-30 20:35:34 -05:00
Omar Roth 61150c74d2
Move privacy type into playlists.sql 2020-04-14 18:09:48 -05:00
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 (#1042)
* 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.
2020-03-01 10:06:45 -06:00
Omar Roth 9de57021a3
Update postgres setup 2020-03-01 10:30:55 -05:00
Omar Roth 28669d940a
Remove --release from dockerfile 2019-12-05 14:49:44 -05:00
tleydxdy ae24360c02
Proper fix for docker build
return to static linking
2019-11-26 18:20:23 -05:00
Omar Roth d46b26e3bc
Use QUIC for connections to YouTube 2019-11-18 17:28:32 -05:00
tleydxdy 37766347a5
Fix docker build for now 2019-11-13 08:57:12 -05:00
Omar Roth f776d67c03
Update sed replace in Dockerfile 2019-10-28 12:49:03 -04:00
Omar Roth 0f3c477ff3
Remove dependency on ImageMagick (replace with rsvg-convert) 2019-10-28 10:49:05 -04:00
Omar Roth 039cc30c07
Fix host replace in Dockerfile 2019-10-28 10:45:22 -04:00
Tommy d82f86dcd9 Update entrypoint.postgres.sh (#843)
* Update entrypoint.postgres.sh
2019-10-22 07:37:26 -04:00
Leon Klingele b25013c4a2
docker,travis: fail build on any warning 2019-09-25 01:22:51 +02:00
gnomus 3c40c0be6b Update Package Repository for Install 2019-09-13 15:06:44 +02:00
tleydxdy b902880a05 fix docker build (#734) 2019-08-31 01:11:25 -04:00
Leon Klingele 567cda4cd3
docker: use alpine:edge base image for building
This fixes currently failing Docker builds.
kemalcr/kemal in version 0.26.0 requires Crystal 0.30.0 which is not
yet available on Alpine 3.10 (previously used as the Docker base image).
2019-08-15 01:37:25 +02:00
Leon Klingele ea39bb4334
docker: various improvements to Dockerfile
This includes the following changes:

- Use multi-stage build to run application in an optimized environment, see
  https://docs.docker.com/develop/develop-images/multistage-build/
- Run application on alpine instead of archlinux to further reduce image size
- Build Crystal application with --release for improved runtime performance
- Run application as non-root user for better security, see
  https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user
- Only rebuild Docker layers when required
2019-08-04 11:21:32 +02:00
Omar Roth e3f37c14db Add glibc to Docker dependencies 2019-04-30 08:56:24 -05:00
Omar Roth 3bcb98e644 Add config option to cache annotations from IA 2019-04-15 11:13:09 -05:00
Omar Roth c5001f3620 Add role to psql scripts 2019-04-06 07:38:33 -05:00
Omar Roth 2a643e86bc Update dockerfile 2019-02-28 13:49:29 -06:00
Omar Roth a384f6e5fd Add migrate script and update README 2019-02-10 12:46:58 -06:00
Omar Roth 4c77908bb4 Update postgres entrypoint for docker image 2019-01-24 19:02:09 -06:00
flourgaz 71a99542fe basic docker-compose cluster 2018-09-29 13:30:56 +02:00