Commit Graph

31 Commits (b9cd40fe1e095f72440bb64180314b71d4f3f185)

Author SHA1 Message Date
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