From 808ed15dbcd119364bfc25082e6f81645729b02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lebrun?= Date: Sat, 21 Dec 2024 17:24:52 +0100 Subject: [PATCH] Dockerfile: add utils/ in $PATH by default, for easy indexing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Théo Lebrun --- README.adoc | 16 ++++++---------- docker/Dockerfile | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.adoc b/README.adoc index 7e5ba00..36ffba3 100644 --- a/README.adoc +++ b/README.adoc @@ -255,7 +255,7 @@ as a front-end to reduce the load on the server running the Elixir code. == Keeping Elixir databases up to date To keep your Elixir databases up to date and index new versions that are released, -we're proposing to use a script like `utils/index /srv/elixir-data --all` which is called +we're proposing to use a script like `index /srv/elixir-data --all` which is called through a daily cron job. You can set `$ELIXIR_THREADS` if you want to change the number of threads used by @@ -282,18 +282,14 @@ The Docker image does not contain any repositories. To index a repository, you can use the `index-repository` script. For example, to add the https://musl.libc.org/[musl] repository, run: - # docker exec -it -e PYTHONUNBUFFERED=1 elixir-container \ - /usr/local/elixir/utils/index -c '/srv/elixir-data musl' - -Without PYTHONUNBUFFERED environment variable, update logs may show up with a delay. + # docker exec -it elixir-container index /srv/elixir-data musl Or, to run indexing in a separate container: - # docker run -e PYTHONUNBUFFERED=1 -v ./elixir-data/:/srv/elixir-data \ - --entrypoint /usr/local/elixir/utils/index elixir -c \ - '/srv/elixir-data musl' + # docker run -v ./elixir-data/:/srv/elixir-data \ + --entrypoint index elixir /srv/elixir-data musl -You can also use `utils/index /srv/elixir-data --all` to start indexing all officially supported repositories. +You can also use `index /srv/elixir-data --all` to start indexing all officially supported repositories. After indexing is done, Elixir should be available under the following URL on your host: http://172.17.0.2/musl/latest/source @@ -305,7 +301,7 @@ If 172.17.0.2 does not answer, you can check the IP address of the container by == Automatic repository updates The Docker image does not automatically update repositories by itself. -You can, for example, start `utils/index /srv/elixir-data --all` in the container (or in a separate container, with Elixir data volume/directory mounted) +You can, for example, start `index /srv/elixir-data --all` in the container (or in a separate container, with Elixir data volume/directory mounted) from cron on the host to periodically update repositories. == Using Docker image as a development server diff --git a/docker/Dockerfile b/docker/Dockerfile index b1d1f75..a05aa6f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -57,7 +57,7 @@ ARG ELIXIR_VERSION ENV ELIXIR_VERSION=$ELIXIR_VERSION \ ELIXIR_ROOT=/srv/elixir-data \ - PATH="/usr/local/elixir/venv/bin:$PATH" \ + PATH="/usr/local/elixir/utils:/usr/local/elixir/venv/bin:$PATH" \ PYTHONUNBUFFERED=1 ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]