Sign inSign up

m0m0123/buildozer

By m0m0123

•Updated 11 months ago

Docker image for kivy/buildozer. Runs the `buildozer` command in /home/user/app.

Image
0

830

m0m0123/buildozer repository overview

Provides kivy/buildozer⁠.

Runs buildozer as an entry point in /home/user/app.

⁠Example usage

from the directory which contains buildozer.spec:

mkdir -m 777 -p ~/.buildozer ~/.gradle  # to cache downloads for subsequent runs
docker run --rm \
    --volume "$HOME/.buildozer":/home/user/.buildozer \
    --volume "$HOME/.gradle":/home/user/.gradle \
    --volume "$PWD":/home/user/app \
    m0m0123/buildozer

⁠Dockerfile

########################################################################
FROM       ubuntu:24.04
LABEL      maintainer="[email protected]"
LABEL      description="For building Android apps with Python/Buildozer"
########################################################################
RUN        apt update 
RUN        apt install -y \
               autoconf \
               automake \
               build-essential \
               git \
               libffi-dev \
               libssl-dev \
               libreadline-dev \
               libsqlite3-dev \
               libtool \
               openjdk-17-jdk \
               python3 \
               python3-pip \
               python3-venv \
               unzip \
               zip \
               zlib1g-dev
RUN        apt clean && rm -rf /var/lib/apt/lists/*
########################################################################
# We create a virtual python environment and install the necessary
# dependencies as a regular user. To ensure that we can use the virtual
# environment during runtime, we create an entrypoint script that
# activates the virtual environment before executing the command. The
# venv path is outside of the home directory to allow for easy mounting
# of the home directory.
########################################################################
RUN        useradd -m user
USER       user
WORKDIR    /home/user
#
ENV        PY_M=/tmp/python_m.sh
ENV        VENV_PATH=/tmp/venv
RUN        python3 -m venv $VENV_PATH
RUN        echo "#!/bin/sh\n" \
               ". $VENV_PATH/bin/activate\n" \
	       "yes | python3 -m \"\$@\"" \
               > $PY_M && chmod +x $PY_M
#
RUN        $PY_M pip install --upgrade pip && $PY_M pip install \
               setuptools \
               cython \
               buildozer \
               python-for-android
########################################################################
# We create an entrypoint script that activates the virtual environment
# and runs buildozer.
########################################################################
RUN        mkdir /home/user/app && chmod -R a-x+X /home/user/app
WORKDIR    /home/user/app
ENTRYPOINT ["/tmp/python_m.sh", "buildozer"]

Tag summary

Content type

Image

Digest

sha256:41284873a…

Size

537.6 MB

Last updated

11 months ago

docker pull m0m0123/buildozer