Commit Graph

56 Commits

Author SHA1 Message Date
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
2021-09-18 13:30:17 -07:00
Emilien Devos
0e37e42abd use crystal 1.1.1 for the ARM docker image 2021-09-03 19:15:04 +02:00
syeopite
dd141daefd
Make building in release mode optional (#2368) 2021-09-01 13:24:17 +02:00
Emilien Devos
891116f13b docker images with --release for more stability
fixes #1652
2021-08-31 21:24:54 +02:00
Emilien Devos
33724d40a8 moved APKBUILD files to iv-org/lsquic.cr/docker
and remove docker cache
2021-08-24 23:15:41 +02:00
Emilien Devos
d78e5281fe use pre-compiled lsquic docker image
from https://quay.io/repository/invidious/lsquic-compiled
fixes #2325
2021-08-24 23:12:19 +02:00
Émilien Devos
c60fccd7f6
Update crystal docker image to 1.1.1 2021-08-13 08:44:44 +02:00
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
crystal-lang/crystal#10972
2021-08-12 16:10:40 -07:00
Emilien Devos
f2b69fd812 bump crystal docker image version +
use alpine:edge docker image in order to use crystal 1.1.1
2021-08-12 23:33:28 +02:00
syeopite
637a5cc14f
Add CI for testing arm64 docker (#2315)
* Add CI for testing build of docker-arm64

* Add specs check to dockerfiles
2021-08-09 22:34:52 -07:00
nemunaire
aa3608f0af
Include liblsquic build in dockerfile + add support for ARM64 on Docker (#2147)
Co-authored-by: Emilien Devos <contact@emiliendevos.be>
2021-07-15 21:57:20 +00:00
syeopite
392a363d02
Update Dockerfile for crystal 1.0 2021-06-08 13:20:46 -07:00
Maykin-99
a0fe229c7a
make assets, config and locales readable only 2021-05-09 10:29:06 +00:00
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