mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-22 08:40:03 +01:00
a70b4b28c6
* chore(web): add django-prometheus exposed on /_metrics
This exposes a number of metrics, see
97d5748664/documentation/exports.md
for details. It includes histogram of timings by viewname before and
after middleware.
I'm not particularly interested in these right now, but rather would
like to expose Kafka Producer metrics as per
https://github.com/PostHog/posthog/pull/10997
* Refactor to use gunicorn server hooks
* also add expose to dockerfile
* wip
53 lines
2.0 KiB
Docker
53 lines
2.0 KiB
Docker
# Defines the environment you're dropped into with codespaces
|
||
# I've take
|
||
# https://github.com/microsoft/vscode-dev-containers/blob/main/containers/python-3/.devcontainer/Dockerfile
|
||
# and surrounding files as inspiration. I'm extending their image rather than
|
||
# building from e.g. the official python docker images as there appears to be
|
||
# quite a bit done as part of the vscode images, presumably to make the
|
||
# experience as rich as possible. Perhaps later down the line it might be worth
|
||
# rolling our own
|
||
#
|
||
FROM mcr.microsoft.com/vscode/devcontainers/python:3.8-bullseye
|
||
|
||
# Make sure all exit codes on pipes cause failures
|
||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||
|
||
# Set up docker in docker as per
|
||
# https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/docker-in-docker.md
|
||
COPY .devcontainer/library-scripts /tmp/library-scripts
|
||
|
||
ENV DOCKER_BUILDKIT=1
|
||
RUN /tmp/library-scripts/docker-in-docker-debian.sh
|
||
ENTRYPOINT ["/usr/local/share/docker-init.sh"]
|
||
VOLUME [ "/var/lib/docker" ]
|
||
CMD ["sleep", "infinity"]
|
||
|
||
# Add in some useful dev cli tools
|
||
# hadolint ignore=DL3008
|
||
RUN apt-get update \
|
||
&& apt-get -y install --no-install-recommends \
|
||
# Add in useful db debugging tools
|
||
"postgresql-client=13+*" \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# Install node
|
||
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
|
||
ARG NODE_VERSION="16"
|
||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||
|
||
WORKDIR /workspace
|
||
|
||
# Compile and install Python dependencies.
|
||
#
|
||
# Notes:
|
||
#
|
||
# - we explicitly COPY the files so that we don't need to rebuild
|
||
# the container every time a dependency changes
|
||
#
|
||
# - we need few additional OS packages for this. Let's install
|
||
# and then uninstall them when the compilation is completed.
|
||
COPY requirements.txt requirements-dev.txt ./
|
||
RUN pip install -r requirements-dev.txt --compile --no-cache-dir && \
|
||
pip install -r requirements.txt --compile --no-cache-dir
|
||
|