Skip to content

low cost and alternative DIY hosting instructions #147

Open
@christhekeele

Description

@christhekeele

Synopsis

Heroku is sunsetting its free plan (more here). Timeline:

  • October 26, 2022: accounts that have been "inactive for over a year" will start to be deleted (unclear if that entails accounts that have not been deployed in the last year, which would be many nightscout users)
  • November 28, 2022: free plans will no longer be available and free dynos will be scaled down; associated databases will be deleted

Fortunately the DIY instructions guide people to set up their mongo in Atlas, so data loss will not be an issue, but anyone using the free plan who followed the guide will see their DIY installations will just stop working as early as 26-10-2022 and 28-11-2022 at the latest.

We should probably recommend a different hosting provider, provide new DIY free-hosting setup instructions, and ideally a migration guide as well from Heroku to the new recommended provider.

Discussion

There are several alternatives we could establish guidance for. There are many general replacements suggested in the twitter thread, but I'll be focusing on the free plans of 3 of the most popular ones with a UX I see as most suitable to less-technical Nightscout users' needs. More suggestions welcome in further discussion!

Fly.io

Free Plan

Plan Notes
Feature Limits Notes
Apps 2 apps You can create up to 2 apps full time with one VM each.
2,340 hours per month Run 2 shared-cpu-1x VMs with 256MB RAM full time with time to spare.
1GB Provision 1GB of persistent volumes for permanent storage
160GB per month See outbound data transfer for regional breakdown
Unlimited IPv6, 1 IPv4 Additional IPv4 addresses require a payment method
10 active certificates Add 10 certificates to your apps
Pros/Cons

Pros

  • Build Support: Prefers Docker, supports buildpacks which is useful if a technical user has customized their build
  • Migration: Automatic Heroku migrator service
  • Shutoff: No automatic shut-off
  • Free Hours: More than enough free hours (2,340) per month to run continuously
  • Bandwidth: More than enough bandwith allowances for normal Nightscout usage
  • Security: SOC2 (Type 1) audited
  • Other — Commitment: Founder has expressed interest in finding ways to keep Nightscout deployments free

Cons

  • Deployment: Requires command-line usage if not using Heroku migrator

Render

Free Plan

Pros/Cons

Pros

  • Free Hours: Just enough free hours (750) per month to run continuously
  • Deployment: Has a builtin support for deploying from a GH repo w/out command line usage, based on Dockerfile

Cons

  • Build Support: Prefers Docker over buildpacks, but migration docs require buildpacks?
  • Migration: Has Heroku migration instructions, but requires buildpack usage which is not how we build things, requires additional changes to the code in the forked repository
  • Shutoff: 15 minute inactivity spin-down, 30 second spin-up

Unsure/Neutral

  • Bandwidth: Could not find documented limits
  • Security: Currently getting their first SOC2 compliance audit

Railway

Free Plan

Pros/Cons

Pros

  • Build Support: Prefers Docker, supports our Procfile
  • Deployment: GH integration prevents CLI usage, based on Dockerfile/Procfile
  • Other — DB: Unlike others, provides hosted mongo deployments, which might be an interesting avenue to explore simplifying setup (probably not free tho)

Cons

  • Migration: No maintained documentation or services, a few historical blog posts for specific use-cases
  • Free Hours: Less than enough free hours (500) per month to run continuously

Unsure/Neutral/Notes

  • Shutoff: Could not find documented limits
  • Bandwidth: Could not find documented limits
  • Security: Could not find documentation on SOC2 compliance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions