/lua-docker

Minimal, automated, and up-to-date Docker images for different Lua and LuaJIT versions.

Primary LanguageDockerfileMIT LicenseMIT

lua-docker

Minimal, automated, and up-to-date Docker images for different Lua and LuaJIT versions.

Provides variants for:

  • Debian, Alpine, and Ubuntu base images
  • With LuaRocks
  • LuaJIT
  • LuaJIT built with Lua 5.2 compatibility mode

This repo provides the source for both Lua and LuaJIT images. The different images can be found at:

New versions of Lua, LuaJIT, and LuaRocks should automatically be detected and trigger new docker images to built, tagged, and pushed by a daily GitHub Actions workflow.

Supported Tags and Respective Dockerfile Links

Image Variants

nickblah/lua:<version>

The default Lua image. Provides Lua. Uses Debian Linux for base image.

nickblah/lua:<version>-alpine

Provides Lua. Uses Alpine Linux for base image.

nickblah/lua:<version>-luarocks

Provides Lua and LuaRocks. Uses Debian Linux for base image.

nickblah/lua:<version>-luarocks-alpine

Provides Lua and LuaRocks. Uses Alpine Linux for base image.

nickblah/luajit:<version>

The default LuaJIT image. Provides LuaJIT. Uses Debian Linux for base image.

nickblah/luajit:<version>-alpine

Provides LuaJIT. Uses Alpine Linux for base image.

nickblah/luajit:<version>-luarocks

Provides LuaJIT and LuaRocks. Uses Debian Linux for base image.

nickblah/luajit:<version>-luarocks-alpine

Provides LuaJIT and LuaRocks. Uses Alpine Linux for base image.

nickblah/luajit:<version>-lua52compat

Provides LuaJIT. LuaJIT compiled with LUAJIT_ENABLE_LUA52COMPAT. Uses Debian Linux for base image.

nickblah/luajit:<version>-lua52compat-alpine

Provides LuaJIT. LuaJIT compiled with LUAJIT_ENABLE_LUA52COMPAT. Uses Alpine Linux for base image.

nickblah/luajit:<version>-lua52compat-luarocks

Provides LuaJIT and LuaRocks. LuaJIT compiled with LUAJIT_ENABLE_LUA52COMPAT. Uses Debian Linux for base image.

nickblah/luajit:<version>-lua52compat-luarocks-alpine

Provides LuaJIT and LuaRocks. LuaJIT compiled with LUAJIT_ENABLE_LUA52COMPAT. Uses Alpine Linux for base image.

Installing C Libraries

These base images are minimal, so they only contain the necessary dependencies for running Lua and installing pure-Lua LuaRocks modules. If you need to install LuaRocks modules that include C extensions or need compiling/building, then you'll first need to install the necessary dependencies (for example, make, gcc, etc). The exact dependencies may vary depending on the module's requirements, but to install basic build dependencies, the following installation commands can be used:

  • For Debian based images:
    apt-get update && apt-get install -y build-essential
  • For Alpine based images:
    apk add --no-cache build-base