Commit Graph

50 Commits (875b8ea0c2f1edf4d231c1e939fd75758fad481d)

Author SHA1 Message Date
dev 1f6c234259 added tini for proper signal forwarding
Samantaz Fox 758b7df400
dockerfile: Pass '-Ddisable_quic' to 'crystal build' ()
+ use alpine 3.16 as a base like the crystal team
Émilien Devos 64fe4de3fb bump to crystal 1.4.1
Émilien Devos 67e8fcaf93
bump to crystal 1.4.0 ()
TheFrenchGhosty 7dcd5035c0 Fix the Dockerfile sed command (Closes )
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
mcnesium 9f9020e422
Double quote variable to prevent sh error ()
TheFrenchGhosty 12c219ee6c
Bump Crystal version for CI and Docker to 1.2.2
Samantaz Fox 5eb83bb39c
Bump crystal version for ARM docker container to 1.2.0-r0 ()
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
syeopite dd141daefd
Make building in release mode optional ()
Emilien Devos 891116f13b docker images with --release for more stability
fixes 
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.
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
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 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
tleydxdy 37766347a5
Fix docker build for now
Omar Roth f776d67c03
Update sed replace in Dockerfile
Omar Roth 0f3c477ff3
Remove dependency on ImageMagick (replace with rsvg-convert)
Omar Roth 039cc30c07
Fix host replace in Dockerfile
Leon Klingele b25013c4a2
docker,travis: fail build on any warning
gnomus 3c40c0be6b Update Package Repository for Install
tleydxdy b902880a05 fix docker build ()
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).
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
Omar Roth e3f37c14db Add glibc to Docker dependencies
Omar Roth 2a643e86bc Update dockerfile
flourgaz 71a99542fe basic docker-compose cluster