Secure, private Lua module hosting for your entire team
Cloudsmith gives your team a fully managed LuaRocks repository with global distribution, fine-grained access control, and built-in vulnerability scanning. Push and pull modules using native tools, with zero infrastructure to operate.
Centralize your Lua modules. Cloudsmith is a secure, managed store for all your packages and artifacts.
- Use Lua + 30 other formats in a single repository
- Store and distribute rockspec, source, and binary rocks together
- Manage Lua modules alongside containers and raw files in one place
How we support Lua
--server flag or configure your rocks_servers in the LuaRocks config file. Cloudsmith works with the tools your team already uses, with no custom clients required.Why teams choose Cloudsmith for Lua
Signs you're ready to switch to Cloudsmith for Lua
Get started with Lua on Cloudsmith
Frequently asked questions
Use the
--serverflag with luarocks install, passing your Cloudsmith repository URL including your entitlement token or HTTP Basic Auth credentials. You can also persist the server in your LuaRocks config file underrocks_serversso you do not need to specify it on every command.The native luarocks upload command only supports uploading to the official public luarocks.org repository. To push modules to Cloudsmith, use the Cloudsmith CLI, the Cloudsmith web app, or the Cloudsmith REST API. All three methods support rockspec, source rock, and binary rock file types.
Cloudsmith supports Entitlement Token Authentication and HTTP Basic Authentication for private Lua repositories. Basic Auth works with your username and password, your username and API key, or a token credential pair. Credentials should always be treated as secrets and kept out of source control.
Yes. Every package uploaded to Cloudsmith, including Lua rocks, is scanned for CVEs and malware automatically. You can configure OPA Rego policies to quarantine or block packages based on vulnerability severity, ensuring no high-risk dependency reaches your build pipeline undetected.
Yes. Cloudsmith supports both public and private repositories. Public repositories are accessible without credentials and are suitable for open source Lua modules. Private repositories require authentication and give you full control over who can push or pull packages via entitlements and team permissions.
Yes. Cloudsmith acts as an upstream proxy for public Lua registries, caching modules locally. This insulates your builds from public registry outages, rate limits, and yanked packages, while also speeding up installs by serving cached modules from the nearest edge location.
Cloudsmith delivers packages through a CDN backed by 600+ points of presence worldwide. Engineers and CI runners in any region pull Lua modules from the nearest edge node, reducing latency and ensuring consistent build performance regardless of geography.
Yes. All Cloudsmith repositories are multi-format. You can store Lua rocks, Docker images, Python packages, Debian packages, and 30+ other formats in the same repository, giving your team a single source of truth for all software artifacts.
You can upload existing rock files directly using the Cloudsmith CLI, the web app, or the API. The CLI accepts rockspec, source rock, and binary rock files. Cloudsmith's support team is also available to help plan and execute larger migrations.
Yes. Cloudsmith supports SAML SSO with providers including Okta, Microsoft Entra ID, Google, JumpCloud, PingIdentity, and OneLogin. SCIM is also supported for automated user provisioning and de-provisioning, so access to your Lua repositories stays in sync with your identity provider.