{
  "id": "alpine",
  "title": "Build and run Redis Open Source on Alpine 3.23+",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/install/build-stack/alpine/",
  "summary": "",
  "tags": [
    "docs",
    "operate",
    "stack",
    "oss"
  ],
  "last_updated": "2026-07-02T11:31:07-05:00",
  "page_type": "content",
  "content_hash": "a688655f6b1af80b9beaeeb8cd40db55bb66cbabcaa66f194841cd451b583aac",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Follow the steps below to build and run Redis Open Source with all data structures from its source code on a system running Alpine 3.23 or later.\n\n\nDocker image used to produce these build notes:\n- alpine:3.23\n\nThe steps below assume you are running as `root`, as in the tested container image."
    },
    {
      "id": "1-install-required-dependencies",
      "title": "1. Install required dependencies",
      "role": "content",
      "text": "Update your package lists and install the necessary development tools and libraries:\n\n[code example]\n\nInstall the Python packages required by the `RedisJSON` module build:\n\n[code example]"
    },
    {
      "id": "2-download-and-extract-the-redis-source",
      "title": "2. Download and extract the Redis source",
      "role": "content",
      "text": "The Redis source code is available from [the Redis GitHub site](https://github.com/redis/redis/releases). Select the release you want to build and then select the .tar.gz file from the **Assets** drop down menu. You can verify the integrity of these downloads by checking them against the digests in the [redis-hashes GitHub repository](https://github.com/redis/redis-hashes).\n\nCopy the tar(1) file to `/usr/src`.\n\nAlternatively, you can download the file directly using the `wget` command, as shown below.\n\n[code example]\n\nReplace `<version>` with the three-digit Redis release number, for example `8.0.0`.\n\nExtract the source:\n\n[code example]"
    },
    {
      "id": "3-build-redis",
      "title": "3. Build Redis",
      "role": "content",
      "text": "Set the necessary environment variables, apply the `RedisJSON` Rust-flags patch, and build Redis with TLS and module support:\n\n[code example]"
    },
    {
      "id": "4-optional-verify-the-build",
      "title": "4. (Optional) Verify the build",
      "role": "content",
      "text": "Check the built Redis server and CLI versions:\n\n[code example]"
    },
    {
      "id": "5-start-redis",
      "title": "5. Start Redis",
      "role": "content",
      "text": "To start Redis, use the following command:\n\n[code example]\n\nTo validate that the available modules have been installed, run the [`INFO`](https://redis.io/docs/latest/commands/info) command and look for lines similar to the following:\n\n[code example]"
    },
    {
      "id": "6-optional-install-redis-to-its-default-location",
      "title": "6. (Optional) Install Redis to its default location",
      "role": "content",
      "text": "[code example]"
    }
  ],
  "examples": [
    {
      "id": "1-install-required-dependencies-ex0",
      "language": "bash",
      "code": "apk update\napk add --no-cache \\\n    build-base coreutils linux-headers bsd-compat-headers \\\n    openssl openssl-dev cmake bash git wget curl xz unzip tar rsync which \\\n    libtool automake autoconf libffi-dev libgcc ncurses-dev xsimd \\\n    cargo clang21 clang21-static clang21-libclang llvm21-dev lld21 \\\n    python3 py3-pip python3-dev",
      "section_id": "1-install-required-dependencies"
    },
    {
      "id": "1-install-required-dependencies-ex1",
      "language": "bash",
      "code": "export PIP_BREAK_SYSTEM_PACKAGES=1\npip install --upgrade setuptools pip\npip install addict toml jinja2 ramp-packer",
      "section_id": "1-install-required-dependencies"
    },
    {
      "id": "2-download-and-extract-the-redis-source-ex0",
      "language": "bash",
      "code": "mkdir -p /usr/src\ncd /usr/src\nwget -O redis-<version>.tar.gz https://github.com/redis/redis/archive/refs/tags/<version>.tar.gz",
      "section_id": "2-download-and-extract-the-redis-source"
    },
    {
      "id": "2-download-and-extract-the-redis-source-ex1",
      "language": "bash",
      "code": "cd /usr/src\ntar xvf redis-<version>.tar.gz\nrm redis-<version>.tar.gz",
      "section_id": "2-download-and-extract-the-redis-source"
    },
    {
      "id": "3-build-redis-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n\nexport BUILD_TLS=yes\nexport BUILD_WITH_MODULES=yes\nexport INSTALL_RUST_TOOLCHAIN=yes\nexport LTO=1\nexport RUST_DYN_CRT=1\nexport PATH=\"/usr/lib/llvm21/bin:$PATH\"\n\n# RedisJSON's bindgen must dlopen libclang.so; drop crt-static from its Rust flags.\nmake -C modules/redisjson get_source\nsed -i 's/^RUST_FLAGS=$/RUST_FLAGS += -C target-feature=-crt-static/' modules/redisjson/src/Makefile\n\nmake -j \"$(nproc)\" all",
      "section_id": "3-build-redis"
    },
    {
      "id": "4-optional-verify-the-build-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-server --version\n./src/redis-cli --version",
      "section_id": "4-optional-verify-the-build"
    },
    {
      "id": "5-start-redis-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-server redis-full.conf",
      "section_id": "5-start-redis"
    },
    {
      "id": "5-start-redis-ex1",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-cli INFO\n...\n# Modules\nmodule:name=ReJSON,ver=20803,api=1,filters=0,usedby=[search],using=[],options=[handle-io-errors]\nmodule:name=search,ver=21005,api=1,filters=0,usedby=[],using=[ReJSON],options=[handle-io-errors]\nmodule:name=bf,ver=20802,api=1,filters=0,usedby=[],using=[],options=[]\nmodule:name=timeseries,ver=11202,api=1,filters=0,usedby=[],using=[],options=[handle-io-errors]\nmodule:name=RedisCompat,ver=1,api=1,filters=0,usedby=[],using=[],options=[]\nmodule:name=vectorset,ver=1,api=1,filters=0,usedby=[],using=[],options=[]\n...",
      "section_id": "5-start-redis"
    },
    {
      "id": "6-optional-install-redis-to-its-default-location-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\nmake install",
      "section_id": "6-optional-install-redis-to-its-default-location"
    }
  ]
}
