graphql-engine/packaging/graphql-engine-base/ubuntu.dockerfile
Brandon Simmons d76636a5a3 packaging: partially revert #5604, stay on focal to use libssl1.1. Add libssl explicitly.
Trying to run the image while debugging:  https://github.com/hasura/graphql-engine-mono/pull/6172/ I get:

    $ docker run -it hasura/graphql-engine:dev-b91a92b-jberrymanalexghc92-ci-REBASE10-cherry-.ubuntu.amd64
    graphql-engine: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

It seems as though the ubuntu image has been broken in some way since
moving to jammy (Which only ships with `libssl.3`), but strangely this
only shows up on main, not in PRs (except on the 9.2 branch…?)

we use this in tests for instance: .buildkite/scripts/test-dc-sdk.sh

Strangely I don't get the error with an image from recent PRs:
https://github.com/hasura/graphql-engine-mono/pull/6148
https://github.com/hasura/graphql-engine-mono/pull/6156 (to latest release)

...although Samir sees it on some he looked at

```
docker run -it hasura/graphql-engine:dev-46eaa39-plcreleasev2.13bq-scalars.ubuntu.amd64 graphql-engine version
Fatal Error: Either of --metadata-database-url or --database-url option expected
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6176
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 6eea65f2d1dc7f0d13bcd58f94737810d290cb89
2022-10-05 09:07:26 +00:00

44 lines
1.7 KiB
Docker

# DATE VERSION: 2022-09-21
# Modify the above date version (YYYY-MM-DD) if you want to rebuild the image for security updates
FROM ubuntu:focal-20220922
### NOTE! Shared libraries here need to be kept in sync with `server-builder.dockerfile`!
# TARGETPLATFORM is automatically set up by docker buildx based on the platform we are targetting for
ARG TARGETPLATFORM
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
RUN set -ex; \
groupadd -g 1001 hasura; \
useradd -m -u 1001 -g hasura hasura
RUN set -ex; \
apt-get update; \
apt-get install -y apt-transport-https curl gnupg2; \
apt-get update; \
apt-get install -y ca-certificates libkrb5-3 libpq5 libssl1.1 libnuma1 unixodbc-dev libmariadb-dev-compat mariadb-client
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ] ; then \
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -; \
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list; \
apt-get update; \
ACCEPT_EULA=Y apt-get install -y msodbcsql17; \
fi
# Install pg_dump
RUN set -ex; \
curl -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -; \
echo 'deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main' > /etc/apt/sources.list.d/pgdg.list; \
apt-get -y update; \
apt-get install -y postgresql-client; \
# delete all pg tools except pg_dump to keep the image minimal
find /usr/bin -name 'pg*' -not -path '/usr/bin/pg_dump' -delete
# Cleanup unwanted files and packages
RUN set -ex; \
apt-get -y remove curl gnupg2; \
apt-get -y auto-remove; \
apt-get -y clean; \
rm -rf /var/lib/apt/lists/* /usr/share/doc/ /usr/share/man/ /usr/share/locale/