nixpacks
bundlers | nixpacks | |
---|---|---|
3 | 17 | |
90 | 2,172 | |
- | 5.1% | |
2.8 | 8.7 | |
7 months ago | 2 days ago | |
Nix | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bundlers
-
The Magic Nix Cache
- the caching works across branches, so for example merging a feature branch to master, if nothing changes the build on master will be very quick
I created something similar to nix-cache for gitlab, but I had to create a dedicated runner running NixOS.
If I could use NixOS for deployment, at that point I would just point the same binary cache to the machine and use the same derivation to build the app. Because the app was already build by CI, it would just download the compiled version. No need for artifactory or similar. In that scenario (you using poetry) you probably would just use poetry2nix to generate the application.
If the OS is not NixOS, but you still want to deploy via nix, then IMO this[2] looks interesting, basically it packages everything in self extracting archive. That you can extract and then run the app.
Other alternatives are these bundlers[3], which includes building toArx (works in a way similar to the previous one but pretends everything is in a single file), RPM, DEB, docker (you would have more control over it if you would use the code directly instead of a bundler though)
And the last option (probably the most obvious one) is that you can simply just use the tool to build the package. Since you're using poetry, then you can generate a wheel from it.
[1] https://github.com/takeda/nix-cde/blob/master/contrib/gitlab...
[2] https://github.com/Ninlives/relocatable.nix
[3] https://github.com/NixOS/bundlers/blob/master/flake.nix
-
After 20 years are developers now ready for Nix?
We've seen the opposite. New package managers are built with a much better understanding of the problem space because of Nix and sometimes explicitly taking ideas and concepts. This results in those new systems being far more compatible and easily integrated with Nix itself. Consider the iteration towards better and better locking in python + Node. Consider Rust/Cargo.
There has also been sharing of ideas and collaboration between things us and bazel/buck/spack/etc. I think it is clear that we are all moving towards a similar end state, that often looks very much like Nix, or a re-invention of it.
For things like OCI, Nix predates it, but we should start to re-use the standard. The Tvix group is exploring this and I'd suspect our sandboxing will be OCI at some point. For outputs; we make it easy to convert a Nix package into an equivalent container. Things like flatpack,AppImage,Snap should also be easy for people to output (i'm trying to collect these "transformers"/"bundlers" here: https://github.com/NixOS/bundlers).
-
Nixpacks takes a source directory and produces an OCI compliant image
Nix 3 has a dead simple, builtin CLI frontend for built packages: https://nixos.org/manual/nix/unstable/command-ref/new-cli/ni...
It uses dockerTools: https://github.com/NixOS/bundlers/blob/master/flake.nix
maybe a bundler can be added that uses OCI tools, thus providing such a wrapper and giving a nice CLI for it
nixpacks
-
9 ways to improve how you ship software
Example with Nixpacks:
-
Multi-Worker Application on ARM Architecture
We have an upcoming nixpacks builder that should work on ARM/ARM64, but there are issues in the nixpacks codebase I'm still trying to sort out before that lands.
-
Using Nix with Dockerfiles
I think this is something the writer of the article would be delighted to find: https://github.com/railwayapp/nixpacks
-
[Media] Gitrun: Run any Git repository with one command
Yes, it builds the Dockerfile if it exists otherwise it uses nixpacks to create an image from source files for any language/framework. This image is then run using docker run .
- Show HN: IHP v1.0 (Batteries-included web framework built on Haskell and Nix)
-
We want to make Nix better
I think this is true for Nix in the deployment/ops space, where debugging a broken build can be very frustrating. Language improvements are going to be less useful for app developers, the Flake learning curve is not going to get better with a type system.
Perhaps something like heroku buildpaks (https://github.com/railwayapp/nixpacks ?) would help devs get on the Nix train.
-
A selfhosted Heroku clone on your Kubernetes cluster
Hey! Any plans on integrating nixpacks? I'm one of the core maintainers & would love to help you out. No worries if not.
- Nixpacks takes a source directory and produces an OCI compliant image
-
Deploying Strapi 4 to Railway
Uses NixPacks to build the images;
What are some alternatives?
hasql-interpolate
sidekiq - Sidekiq worker on Render
relocatable.nix - A nix bundler that produces relocatable deployment script for nix store paths.
web3.storage - DEPRECATED ⁂ The simple file storage service for IPFS & Filecoin
nixpkgs - Nix Packages collection & NixOS
cog - Containers for machine learning
stage0 - A set of minimal dependency bootstrap binaries
heroku-deploy - A simple github action that dynamically deploys an app to heroku
piku - The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
engine - The Orchestration Engine To Deliver Self-Service Infrastructure Faster ⚡️
Dokku - A docker-powered PaaS that helps you build and manage the lifecycle of applications
templates - Railway starters