Switch to alpine base image (#2872)

# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
This commit is contained in:
Ildar Iskhakov 2023-08-29 15:03:32 +08:00 committed by GitHub
parent e0e1f4b021
commit 69661f1986
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 16 deletions

View file

@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
### Changed
- Switch engine to alpine base image ([2872](https://github.com/grafana/oncall/pull/2872))
### Fixed
- Address bug when a Shift Swap Request is accepted either via the web or mobile UI, and the Slack message is not

View file

@ -1,25 +1,24 @@
FROM python:3.11.4-slim-bookworm AS base
FROM python:3.11.4-alpine3.18 AS base
# Create a group and user to run an app
ENV APP_USER=appuser
RUN groupadd --system --gid 2000 ${APP_USER} && \
useradd --no-log-init --system --uid 1000 --gid ${APP_USER} ${APP_USER}
RUN addgroup --system --gid 2000 ${APP_USER} && \
adduser --system --uid 1000 --ingroup ${APP_USER} ${APP_USER}
RUN apt-get update && apt-get install -y \
python3-dev \
gcc \
libmariadb-dev \
libpq-dev \
netcat-traditional \
curl \
bash \
git \
libpcre3 \
libpcre3-dev
RUN apk add bash \
python3-dev \
build-base \
linux-headers \
pcre-dev \
mariadb-connector-c-dev \
libffi-dev \
git \
postgresql-dev
WORKDIR /etc/app
COPY ./requirements.txt ./
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools wheel
RUN pip install -r requirements.txt
# we intentionally have two COPY commands, this is to have the requirements.txt in a separate build step
@ -48,7 +47,7 @@ RUN chown -R ${APP_USER}:${APP_USER} /tmp/prometheus_django_metrics
ENV prometheus_multiproc_dir "/tmp/prometheus_django_metrics"
FROM base AS dev
RUN apt-get install -y sqlite3 default-mysql-client postgresql-client
RUN apk add sqlite mysql-client postgresql-client
RUN pip install -r requirements-dev.txt
FROM dev AS dev-enterprise

View file

@ -46,7 +46,7 @@ opentelemetry-instrumentation-celery==0.36b0
opentelemetry-instrumentation-pymysql==0.36b0
opentelemetry-instrumentation-wsgi==0.36b0
opentelemetry-exporter-otlp-proto-grpc==1.15.0
pyroscope-io==0.8.1
# pyroscope-io==0.8.1
django-dbconn-retry==0.1.7
django-ipware==4.0.2
django-anymail==8.6