envygeeks / jekyll-docker

⛴ Docker images, and CI builders for Jekyll.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Doesn't install system packages

DDoerner opened this issue · comments

I use the image jekyll/builder:4.2.0 and try to install additional system packages using an .apk file as described in the docs, but it fails every time with a warning message that the constraints could not be satisfied. I am unexperienced with Alpine Linux, so I don't know whether I've made a mistake on my end or whether it might be a bug.

I've checked with https://pkgs.alpinelinux.org already that both packages exist for the branch and architecture that its looking for, so I don't understand why it shouldn't be able to find and install the packages.

Any help would be appreciated.

docker-compose.yml

version: '3.3'
services:
  jekyll:
    image: jekyll/builder:4.2.0
    command: jekyll serve --livereload --verbose --incremental --force_polling --trace
    ports:
      - 4000:4000
      - 35729:35729
    volumes:
      - .:/srv/jekyll

.apk

vips
libpng

Log

$ docker compose up
[+] Running 2/2
 - Network "website_default"   Created                                                                                                                                2.4s 
 - Container website_jekyll_1  Created                                                                                                                                0.3s 
Attaching to jekyll_1
jekyll_1  | fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
jekyll_1  | fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
jekyll_1  | ERROR: unsatisfiable constraints:
 (missing):   libpng
]ekyll_1  |     required by: world[libpng
 (missing):   vips
]ekyll_1  |     required by: world[vips
jekyll_1 exited with code 2

Hey @DDoerner , this is unfortunately an issue with the packages not the image (https://pkgs.alpinelinux.org/packages?name=vips&branch=edge) at this time we don't enable edge packages and vips is only available on alpha edge

I also don't provide community repositories since this image is used by enterprise users

I see. I though it did since it fetches the community index according to the log. Thanks for the help in clearing this up

vips is installed in the builder image:

docker-compose run jekyll apk list --all | grep vips
vips-8.8.4-r0 x86_64 {vips} (LGPL-2.1-or-later) [installed]
vips-dev-8.8.4-r0 x86_64 {vips} (LGPL-2.1-or-later) [installed]

So why isn't it found when trying to use it?

It looks like the community repositories are included in jekyll/builder images:

docker-compose run jekyll cat /etc/apk/repositories
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
http://dl-cdn.alpinelinux.org/alpine/v3.11/community

EDIT: And jekyll/jekyll images, which also includes vips and vips-dev.