weblate (production-weblate)

Published 2024-04-14 21:05:49 -04:00 by colin

Installation

docker pull git.nixc.us/colin/weblate:production-weblate
sha256:a65711faede59ac9c37ad7483e5895d4d5fe5fa73c0c00addd41fe3a36865f29

About this package

A web-based continuous localization system with tight version control integration

Image Layers

ADD file:b86ae1c7ca3586d8feedcd9ff1b2b1e8ab872caf6587618f1da689045a5d7ae4 in /
CMD ["bash"]
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=C.UTF-8
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
ENV PYTHON_VERSION=3.12.2
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libexpat1-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-system-expat --without-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" "PROFILE_TASK=${PROFILE_TASK:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" "PROFILE_TASK=${PROFILE_TASK:-}" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; python3 --version # buildkit
RUN /bin/sh -c set -eux; for src in idle3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
ENV PYTHON_PIP_VERSION=24.0
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/dbf0c85f76fb6e1ab42aa672ffca6f0a675d9ee4/public/get-pip.py
ENV PYTHON_GET_PIP_SHA256=dfe9fd5c28dc98b5ac17979a953ea550cec37ae1b47a5116007395bfacff2ab9
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" ; rm -f get-pip.py; pip --version # buildkit
CMD ["python3"]
ENV PYVERSION=3.12
ENV WEBLATE_VERSION=5.4.3
ENV WEBLATE_EXTRAS=all,MySQL,zxcvbn,test
ARG TARGETARCH
LABEL name=Weblate
LABEL version=5.4.3
LABEL maintainer=Michal Čihař <michal@cihar.com>
LABEL org.opencontainers.image.url=https://weblate.org/
LABEL org.opencontainers.image.documentation=https://docs.weblate.org/en/latest/admin/install/docker.html
LABEL org.opencontainers.image.source=https://github.com/WeblateOrg/docker
LABEL org.opencontainers.image.version=5.4.3
LABEL org.opencontainers.image.author=Michal Čihař <michal@weblate.org>
LABEL org.opencontainers.image.vendor=Weblate
LABEL org.opencontainers.image.title=Weblate
LABEL org.opencontainers.image.description=A web-based continuous localization system with tight version control integration
LABEL org.opencontainers.image.licenses=GPL-3.0-or-later
HEALTHCHECK &{["CMD-SHELL" "/app/bin/health_check"] "30s" "3s" "5m0s" "0s" '\x00'}
SHELL [/bin/bash -o pipefail -x -c]
RUN |1 TARGETARCH=amd64 /bin/bash -o pipefail -x -c useradd --shell /bin/sh --user-group weblate --groups root,tty && mkdir -p /home/weblate/.ssh && touch /home/weblate/.ssh/authorized_keys && chown -R weblate:weblate /home/weblate && chmod 700 /home/weblate/.ssh && install -d -o weblate -g weblate -m 755 "/usr/local/lib/python${PYVERSION}/site-packages/data-test" "/usr/local/lib/python${PYVERSION}/site-packages/test-images" && install -d -o weblate -g weblate -m 755 /app/data && install -d -o weblate -g weblate -m 755 /app/cache # buildkit
ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV HOME=/home/weblate
ENV DJANGO_SETTINGS_MODULE=weblate.settings_docker
ENV PYTHONUNBUFFERED=1
COPY requirements.txt Gemfile patches /app/src/ # buildkit
RUN |1 TARGETARCH=amd64 /bin/bash -o pipefail -x -c export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install --no-install-recommends -y nginx-light bundler ruby ruby-dev cmake openssh-client ca-certificates curl gir1.2-pango-1.0 libxmlsec1-openssl libjpeg62-turbo gettext git git-svn gnupg subversion pkg-config file make locales libcairo2-dev libxml2-dev libacl1-dev libmariadb3 libmariadb-dev libxmlsec1-dev libsasl2-dev libldap2-dev libldap-common libssl-dev libffi-dev libpq-dev zlib1g-dev libjpeg62-turbo-dev libenchant-2-2 libgirepository1.0-dev libcairo-gobject2 gcc g++ patch unzip xz-utils && c_rehash && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen && echo "deb http://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list && curl -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && apt-get update && apt-get install --no-install-recommends -y postgresql-client-16 && cd /app/src/ && bundle install && bundle clean --force && pip install --no-cache-dir --upgrade $(grep -E '^(pip|wheel|setuptools)==' /app/src/requirements.txt) && pip install --no-cache-dir --no-binary :all: $(grep -E '^(cffi|lxml)==' /app/src/requirements.txt) && case "$WEBLATE_VERSION" in *+* ) pip install --no-cache-dir -r /app/src/requirements.txt "https://github.com/translate/translate/archive/master.zip" "https://github.com/WeblateOrg/language-data/archive/main.zip" "https://github.com/WeblateOrg/weblate/archive/$WEBLATE_DOCKER_GIT_REVISION.zip#egg=Weblate[$WEBLATE_EXTRAS]" ;; * ) pip install --no-cache-dir -r /app/src/requirements.txt "Weblate[$WEBLATE_EXTRAS]==$WEBLATE_VERSION" ;; esac && python -c 'from phply.phpparse import make_parser; make_parser()' && ln -s /usr/local/share/weblate/examples/ /app/ && apt-get -y purge bundler ruby-dev cmake pkg-config libmariadb-dev libgirepository1.0-dev libxml2-dev libffi-dev libxmlsec1-dev libcairo2-dev libpq-dev gcc g++ file make libsasl2-dev libacl1-dev libldap2-dev libssl-dev libz-dev libjpeg62-turbo-dev && apt-get -y purge --auto-remove -o APT::AutoRemove::RecommendsImportant=false && apt-get clean && rm -rf /root/.cache /tmp/* /var/lib/apt/lists/* # buildkit
RUN |1 TARGETARCH=amd64 /bin/bash -o pipefail -x -c find /app/src -name '*.patch' -print0 | sort -z | xargs -n1 -0 -r patch -p0 -d "/usr/local/lib/python${PYVERSION}/site-packages/" -i # buildkit
COPY etc /etc/ # buildkit
RUN |1 TARGETARCH=amd64 /bin/bash -o pipefail -x -c rm -f /etc/localtime /etc/timezone && ln -s /tmp/localtime /etc/localtime && cp /usr/share/zoneinfo/Etc/UTC /tmp/localtime && mkdir /tmp/nginx && chgrp -R 0 /var/log/nginx/ /var/lib/nginx /app/data /app/cache /run /home/weblate /tmp/localtime /tmp/nginx /etc/supervisor/conf.d && chmod -R 770 /var/log/nginx/ /var/lib/nginx /app/data /app/cache /run /home /home/weblate /tmp/localtime /tmp/nginx /etc/supervisor/conf.d && rm -f /etc/nginx/sites-available/default && ln -s /tmp/nginx/weblate-site.conf /etc/nginx/sites-available/default && rm -f /var/log/nginx/access.log /var/log/nginx/error.log && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && chmod 664 /etc/passwd /etc/group && sed -i '/pam_rootok.so/a auth requisite pam_deny.so' /etc/pam.d/su # buildkit
RUN |1 TARGETARCH=amd64 /bin/bash -o pipefail -x -c echo "/app/data/python" > "/usr/local/lib/python${PYVERSION}/site-packages/weblate-docker.pth" && mkdir -p /app/data/python/customize && touch /app/data/python/customize/__init__.py && touch /app/data/python/customize/models.py && chown -R weblate:weblate /app/data/python # buildkit
COPY --chmod=a+rx start health_check /app/bin/ # buildkit
EXPOSE map[8080/tcp:{}]
VOLUME [/app/data]
VOLUME [/app/cache]
VOLUME [/tmp]
VOLUME [/run]
USER 1000
ENTRYPOINT ["/app/bin/start"]
CMD ["runserver"]

Labels

Key Value
com.docker.compose.project weblate
com.docker.compose.service weblate
com.docker.compose.version 2.24.5
maintainer Michal Čihař <michal@cihar.com>
name Weblate
org.opencontainers.image.author Michal Čihař <michal@weblate.org>
org.opencontainers.image.description A web-based continuous localization system with tight version control integration
org.opencontainers.image.documentation https://docs.weblate.org/en/latest/admin/install/docker.html
org.opencontainers.image.licenses GPL-3.0-or-later
org.opencontainers.image.source https://github.com/WeblateOrg/docker
org.opencontainers.image.title Weblate
org.opencontainers.image.url https://weblate.org/
org.opencontainers.image.vendor Weblate
org.opencontainers.image.version 5.4.3
version 5.4.3
Details
Container
2024-04-14 21:05:49 -04:00
11
OCI / Docker
linux/amd64
GPL-3.0-or-later
401 MiB
Versions (6) View all
staging-database 2024-05-06
staging-cache 2024-05-06
production-cache 2024-04-14
production-database 2024-04-14
production-weblate 2024-04-14