Source-to-Image

What Source-to-Image is
Source-to-Image (S2I) is a toolkit and workflow for building reproducible container images from source code. It puts source code into a builder image, lets that container prepare the code for execution, and produces an image ready to run. The documented workflow can build and run from a Git repository without a Dockerfile. Builder images can provide assemble and run scripts, with optional scripts for saving artifacts and showing usage instructions. With a compatible builder, a previous output image, a save-artifacts script, and `--incremental=true`, S2I can reuse artifacts from an earlier build. A `.s2iignore` file filters source files and directories from the resulting image, while `.s2i/environment` supplies build variables that also appear in the output image. S2I can use an OnBuild strategy with images containing Dockerfile `ONBUILD` instructions. Documentation includes Docker use and examples with OpenShift, UBI, Ruby, and WildFly images. The project is free and listed for Linux, macOS, and Windows under Apache-2.0. Listed dependencies are Docker 1.6 or later and Go 1.7.1 or later; Git is optional.
Who it suits
S2I suits developers and teams building container images from source code, including workflows using Docker or OpenShift. It may be useful when a builder image can handle application preparation and build scripts.
What it does well
- Builds reproducible container images from source
- Documented Git workflow does not require a Dockerfile
- Supports incremental builds with compatible builder setup
- Filters output files with `.s2iignore`
- Free and licensed under Apache-2.0
What to know first
- Requires Docker 1.6 or later
- Requires Go 1.7.1 or later
- Incremental builds require compatible builder components
Limits
The free open-source toolkit has no paid plans stated. Its listed dependencies are Docker 1.6 or later and Go 1.7.1 or later; Git is optional.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Source-to-Image | Open-source toolkit; no paid plans stated | Free |
As github.com lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the project's GitHub repository.
- Use a Linux, macOS, or Windows environment.
- Install Docker 1.6 or later and Go 1.7.1 or later; Git is optional.
- Follow the README's command descriptions and builder-image guidance.
- Choose a builder image and provide source code for the build.
Verdict
S2I provides a scriptable workflow for producing container images from application source, including optional incremental builds. Its documented Docker and Go dependencies are worth checking before adopting it.
Questions
Is Source-to-Image free?
Yes. The toolkit is listed as free, with no paid plans stated.
What license does it use?
The repository identifies the license as Apache-2.0.
Which platforms are listed?
Linux, macOS, and Windows.
Does a build require a Dockerfile?
The README demonstrates building and running an image from a Git repository without a Dockerfile.
What dependencies are listed?
Docker 1.6 or later and Go 1.7.1 or later are listed; Git is optional.
Can it work with OpenShift?
The README documents examples using OpenShift, as well as Docker, UBI, Ruby, and WildFly images.
Facts from Source-to-Image's own pages
- API and SDK surface
- The published interface is a Go-based CLI with documented subcommands; the README does not describe a hosted HTTP API or official SDKs. · github.com, 15 Oct 2026
- Build customization
- Builder images can supply assemble and run scripts, with optional save-artifacts and usage scripts. · github.com, 7 Oct 2026
- Builder customization
- OpenShift documentation says teams can customize S2I builder images and wrap embedded scripts to add application-specific behavior. · docs.redhat.com, 15 Oct 2026
- Builder scripts
- Builder images use assemble and run scripts, with optional save-artifacts and usage scripts. · github.com, 15 Oct 2026
- Build inputs
- s2i build accepts a source location, builder image and optional output tag, with flags for environment, users, scripts and destinations. · github.com, 15 Oct 2026
- CLI commands
- The CLI documents create, build, rebuild, generate, usage, version and help commands. · github.com, 15 Oct 2026
- Company founding
- Red Hat says it was founded in 1993. · redhat.com, 15 Oct 2026
- Company headquarters
- Red Hat lists its headquarters address as 100 E. Davie Street, Raleigh, North Carolina 27601. · redhat.com, 15 Oct 2026
- Company legal name
- Crunchbase identifies the maker as Red Hat Inc., an IBM subsidiary. · crunchbase.com, 15 Oct 2026
- Company ownership
- Red Hat says it has been joined with IBM since 2019, while IBM's acquisition announcement says Red Hat would remain a distinct unit. · redhat.com, 15 Oct 2026
- Company size
- LinkedIn lists Red Hat as having more than 10,001 employees and headquarters in Raleigh, North Carolina. · linkedin.com, 15 Oct 2026
- Company workforce fact
- Red Hat's company brief reports more than 19,000 employees across 100 locations in over 40 countries. · redhat.com, 15 Oct 2026
- Dependencies
- The README lists Docker 1.6 or later and Go 1.7.1 or later as dependencies, with Git optional. · github.com, 7 Oct 2026
- Docker access warning
- The security notes say Docker group membership effectively grants root access and recommend sudo on recent Fedora/RHEL systems as more auditable and secure. · github.com, 7 Oct 2026
- Dockerfile alternative
- The README demonstrates building and running an image from a Git repository without a Dockerfile. · github.com, 7 Oct 2026
- Dockerfile-free builds
- The project can build an application image directly from a Git repository without requiring a Dockerfile. · github.com, 15 Oct 2026
- Docker integration
- The documented default Docker socket is unix:///var/run/docker.sock, and S2I uses Docker client functionality for builds. · github.com, 15 Oct 2026
- Environment variables
- Values in .s2i/environment are passed into the build and remain available in the resulting application image. · github.com, 15 Oct 2026
- How it works
- It injects source code into a builder container image, lets the container prepare the source for execution, and produces a ready-to-run image. · github.com, 7 Oct 2026
- Image support
- S2I recognizes container images with Dockerfile ONBUILD instructions and can use an OnBuild strategy. · github.com, 7 Oct 2026
- Incremental builds
- When a compatible prior image and save-artifacts script exist, S2I can reuse streamed build artifacts for incremental builds. · github.com, 15 Oct 2026
- Independent comparison criticism
- Northflank describes OpenShift, where S2I is a developer workflow, as potentially expensive, complex and tied to the Red Hat ecosystem. · northflank.com, 15 Oct 2026
- Independent praise
- Northflank credits OpenShift's S2I tooling and web console with improving developer workflows and application delivery. · northflank.com, 15 Oct 2026
- Installation methods
- The project documents Go installation, Homebrew on macOS, downloadable Linux and Windows binaries, and building from source. · github.com, 15 Oct 2026
Where Source-to-Image stands on Freedom251
- Sampler Software#1 of 26
- Container Build Tools#2 of 34