38 comments

[ 7.0 ms ] story [ 92.8 ms ] thread
Can it handle Elixir/Phoenix projects with a working default.nix/flake.nix file that have underlying NIF dependencies?
Hi :) This should be possible, but I have not done it yet myself. For the time being, you would have to create a barebones NixOS project and build on that based on own research.

I have plans for making a dedicated starter to provision Elixir/Phoenix projects as a "1-click" starter

Will you be adding other possible cloud providers (some people already have a relationship with google cloud/amazon, for example)
Yes, I have plans on adding more providers in the future. I am especially interested in priotitizing a provider with GPU instances like Vultr. AWS/Google are also on the agenda.
BTW, I just published the "Migration" starter a couple of seconds ago.

It's meant to help you with loading your current project that will be compliant with Shipnix.

The documentation is slightly outdated, but it's mainly a guided flow.

https://docs.shipnix.io/starters/migration/

You could run the generated "shipnixifier" script in a temporary folder and manually merge it to your project, and then provision it.

Feel free to reach out through the support if there is something I could help you with.

I know a feature is 'no funny abstractions', but would something like devenv.sh help achieve more or less easy support to multiple languages quickly?
Yes! I look very much forward to experimenting with implementing Devenv on some upcoming starters :)
Hi! I am the creator of Shipnix and just saw this post on the front page :)

Hope you find it interesting!

I'm reading comments coming in and will try to answer your questions as best I can!

why does authentication with github require access to private repos and all organizations?
Working on fixing this as we speak. Creating two flows so users can fine-grain these permissions in the dashboard. Will ship it in an hour or two
Fixed! It should only ask for publicly available data now
What does it actually do?

From the front page I expected maybe some web interface for doing various tasks, such as Nix package management or setting up Let's Encrypt, etc, but judging from the docs, everything should be done via standard Nix/NixOS commands in command line. So, I'm sorry, what service Shipnix actually provides, apart from initial setup of the server with NixOS and SSH keys, that would justify paying monthly? At least it's not clear from the docs.

Hi! The main strengths of Shipnix right now is ease of provisoning and deployment. And I will continue to add convenient starters that gives you a readily bootstrapped server in several technologies.

Most of what you would need to do is either in the UI or in the source code. They complement eachother. And I think it's a great way to learn Nix.

The NixOS configuration lets you set up LetsEncrypt and domain names declaratively through code. That's one of the strengths in my opinion, but taste might vary.

This also means no vendor lock-in. That being said, it might be that not everyone gets value of it.

I created this because I wanted something that organizes my servers nicely, saves build logs for debugging, lets me easily rollback if a build fails and is easy to managee and deploy.

Thanks for the feedback. I will work further on communicating this in the docs

Looks like Digital Ocean doesn't support NixOS as a Base OS. Seems this just adds that?
Not out of the box, although you can upload a custom image to a Space, or you can instantiate a machine as any other Linux distribution and then assimilate it with nixos-infect or similar.
Used custom images with NixOS few times. Works OK.
Just to be clear: I don't charge for this feature.

It's a free offering in Shipnix for everyone who is registered, and then you are free to create servers with this image through the DigitalOcean dashboard if that's what you prefer.

When a new NixOs release is ready, you can log into the Shipnix dashboard, and replace the image with the current stable one, also at no charge.

What does this do that nixops doesn't? I manage a couple of droplets on DO with nixops just fine...
Hi! I think it solves many of the same problems, just differently.

I would think it's more of a beginner-friendly choice for those who are new to NixOS and find NixOps a bit difficult to learn.

Select a starter, have it all deployed and configured for you, do some coding, push to git and click deploy.

One of the goals of Shipnix is to have a good selection of starters to just get started quickly with building and shipping products. And I hope it can be a gateway drug for increased adoption of NixOS in the bootstrapper, freelancer and digital agency space.

For a veteran in NixOS and NixOps that already likes that flow, it might not be that interesting

If I'm already using Nix, wouldn't I also want to specify my deployments declaritively in Nix?
Hey, could be interesting. I really like that you have a free trial without requiring CC details.

Two small login related comments:

- I would have suggested launching with MFA not just being available - but enforced for all users.

- The Login with Github option requires that you provide full write access to all your public and private repositories, I think this is a bit much and would put off a lot of people.

"This application will be able to read and write all public and private repository data. This includes the following:"

    Code
    Issues
    Pull requests
    Wikis
    Settings
    Webhooks and services
    Deploy keys
    Collaboration invites
Hi!

MFA is top priority to implement next. I won't remove the "beta" flag on my service before this is implemented. I also think it makes sense to have it enforced.

Yes, agreed about the Github scope, and I already had another one commenting this on Twitter. I am looking into this :)

Good stuff, thanks for the response!
Happy to report back that both the Github scope and MFA has been resolved :)
Hey! Thank you, I'll be sure to give it a try now. Cheers for the update too!
Whats the added value of NixOS over go strait to Digital Ocean and make your deployments there? Digital Ocean have a very neat and intuitive UI and their CLI is also very straight forward...
Hi! This is just my very biased opinion, but in very short terms:

It's quicker, less work and you get servers running on a Nix flakes server config from the start with everything working just by filling out a form.

Especially in the freelance and startup sector, I think this brings value in terms of saving time.

That said, nothing wrong with the approach you are describing.

My target audience is a typical web developer that do not have time or energy to learn everything with NixOS from scratch, but wants to get a working Nix configuration and learn Nix a bit more softly with working code that works from the start.

IMO those are good ideas. I've set up a few NixOS servers with various general-purpose VPS companies, and there are often minor irritations in getting the OS installed.
This is really interesting! Do you need a full NixOS configuration to deploy? Or is it possible to deploy projects that just use Nixpkgs?

If it requires some migration, would love to see a guide on how to wrap a Nixpkgs project in a barebones NixOS config

Hi! Thanks :) Yes, it requires a Nix flake with NixOS configuration to run the server itself, but the Barebones starter configuration is very minimal.

If I understand you correctly, I think the "Migration" starter should work with a "Barebones" preset. Then you could "shipnixify" the project so it can be hosted on Shipnix. Then it would only require the work of figuring out how to migrate the project away from the nixpks paradigm.

If you know of any code examples of nixpkgs code out in the open that I could look at for making a guide on how to implement it on Shipnix, let me know :) I would very much like to make a guide like this!

Pricing link on the home page gives a 502 error
That's weird! Seems to work here. Will add it to UptimeRobot to monitor.

Thanks for letting me know!

Unlimited server for 29 per month. How can that be possible? A bad business model is not a good business to work with you know. Wonder?!?
Hi!

Shipnix does not provide the hardware itself, but uses a third-party server provider like DigitalOcean. So the server costs are extra.

Thanks for the feedback. I meant to add a line on the pricing page to clarify this, but it slipped. Will add this withing a few minutes!

Which prompts the question the other way; developers notoriously don't like paying for development tools. Certainly at the hobbyist level.

For running a dinky little VM, I can run that for $5/mo on Digital Ocean or some other hosting provider.

For deploying a NixOS configuration, it's not too difficult to use nixos-infect, or to build a custom ISO. I've not even looked at NixOps or whatever.

What's the value add that's worth $12/mo for managing 1 server (i.e. more than running 2 tiny servers)?

Hi! My thoughts about the hobby plan is really just an entry level tier for those who are not ready yet to invest in the unlimited plans. If no one wants the plan, I can adjust or remove it, no harm in testing the waters.

The target audiences of Shipnix are freelancers, startups and agencies who wants to just spin up an IHP project for example and start creating value for their customers.

These audiences are less likely to adopt NixOS by tinkering with images and nixos-infect. The monthly price is less than what a software engineer costs for one hour.