Sign inSign up

rentpath/rp_elixir

By rentpath

•Updated over 2 years ago

Base image for building typical Elixir apps at RentPath

Image
0

10K+

rentpath/rp_elixir repository overview

⁠rp_elixir

⁠Building a New Version

  1. If updating the Elixir version:
    1. Download the source code .tar.gz from https://github.com/elixir-lang/elixir/releases/tag/<elixir version>.
    2. Compute the SHA256 digest for the .tar.gz file with sha256sum. You can also use shasum -a 256 <filename> on macOS.
    3. Update ELIXIR_VERSION and ELIXIR_VERSION_SHA in Dockerfile.
  2. If updating the base image or Erlang version, update the base image in the FROM statement.
  3. Run the service-image⁠ GitHub Action workflow.

⁠Building v1.9.4-alpine-3.14.6-otp-22

This version is unfortunately needed by maestro (and possibly other apps) which can't be upgraded to Elixir 1.12 and/or OTP 24 at this time.

  1. Clone erlang/docker-erlang-otp⁠ and cd into it.
  2. cd 22/alpine
  3. Edit Dockerfile. Change the FROM statement to use alpine:3.14.6.
  4. Build and push the updated Erlang image.
    1. docker build -t ghcr.io/rentpath/rp_elixir:otp-22.3.4.25-alpine-3.14.6 .
    2. docker push ghcr.io/rentpath/rp_elixir:otp-22.3.4.25-alpine-3.14.6
  5. Download https://github.com/elixir-lang/elixir/archive/refs/tags/v1.9.4.tar.gz.
  6. Compute the SHA256 digest for the source archive using one of the following commands.
    • sha256sum elixir-1.9.4.tar.gz
    • shasum -a 256 elixir-1.9.4.tar.gz
  7. Clone this repository⁠ and cd into it.
  8. Edit Dockerfile.
    1. Change the FROM statement to use ghcr.io/rentpath/rp_elixir:otp-22.3.4.25-alpine-3.14.6.
    2. Change ELIXIR_VERSION to v1.9.4.
    3. Change ELIXIR_VERSION_SHA to the digest computed in step 6.
  9. Build and push the updated Elixir image.
    1. docker build -t ghcr.io/rentpath/rp_elixir:v1.9.4-alpine-3.14.6-otp-22 .
    2. docker push ghcr.io/rentpath/rp_elixir:v1.9.4-alpine-3.14.6-otp-22

⁠Building a Local Image

The above Linux/amd64 images do not run locally on development computers based on Apple silicon. A base Elixir image for local development can be built by executing the following bash command from the project root.

(docker build . &&
image=$(docker build --quiet .) &&
tag=$(.github/workflows/scripts/service-image-tag.sh ${image}) &&
docker build --tag ${tag} .)

Tag summary

Content type

Image

Digest

sha256:1ed30839d…

Size

57.2 MB

Last updated

over 2 years ago

docker pull rentpath/rp_elixir