feat(deploy): marketplace scaffolds for Railway, Hostinger, DigitalOcean - #2244
feat(deploy): marketplace scaffolds for Railway, Hostinger, DigitalOcean#2244reneaaron wants to merge 1 commit into
Conversation
…igitalOcean Adds a deploy/ tree with one-click-deploy scaffolds for three tier-1 VPS marketplaces, alongside the existing fly.toml and render.yaml: - deploy/railway/: doc specifying dashboard config + button markdown (Railway templates are dashboard-configured, shared as railway.com/template/<id> URLs — no repo config file). - deploy/hostinger/: docker-compose.yml + Caddyfile + submission doc for the Hostinger VPS Application Catalog. Deployable as-is on any Hostinger VPS with the Ubuntu 24.04 + Docker template. - deploy/digitalocean/: Packer template + cloud-init + systemd unit + caddy config + provisioner/validator scripts following the digitalocean/marketplace-partners layout, for submission as a DigitalOcean Marketplace 1-Click App. Each directory includes a README covering submission process, user-facing env vars, affiliate attribution, caveats, and support surface. All three reuse ghcr.io/getalby/hub:latest — no Dockerfile or build-docker.yaml changes needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
We had an issue in the past that DO did not come with a persistent volume. We need to double check them all before recommending them |
|
I am adding this issue from another repo that lists home operating systems where we also publish(ed) Alby Hub: https://github.com/getAlby/meta/issues/766 It would be useful to automate the submission to these systems too. |
|
Also consider to add LNVPS.net |
| if [ -n "$DOMAIN" ]; then | ||
| echo " Open Alby Hub: https://$DOMAIN" | ||
| else | ||
| echo " Open Alby Hub: http://$PUBLIC_IP:8080" |
There was a problem hiding this comment.
isn't this also on port 80? as both are served by caddy?
| "api_token": "{{user `token`}}", | ||
| "image": "ubuntu-24-04-x64", | ||
| "region": "fra1", | ||
| "size": "s-1vcpu-2gb", |
There was a problem hiding this comment.
does this get a volume?
last time we had the issue that volumes are not persistent by default.
| @@ -0,0 +1,46 @@ | |||
| services: | |||
There was a problem hiding this comment.
can't we use our default docker-compose?
| @@ -0,0 +1,25 @@ | |||
| [Unit] | |||
There was a problem hiding this comment.
can we reuse this systemd also?
so that we have only one systemd service file for all?
why is docker here used actually?
Summary
Adds a
deploy/tree with one-click-deploy scaffolds for three VPS marketplaces, alongside the existingfly.tomlandrender.yaml. Goal: reach users who discover self-hosted apps through mainstream VPS catalogs rather than through bitcoin-native node distributions (umbrel, start9, etc.).deploy/railway/— scaffold doc for a "Deploy on Railway" button. Railway templates are dashboard-configured and shared asrailway.com/template/<id>URLs, so the committable artifact is a spec of exactly what to configure + the button markdown to paste into the main README once a template ID exists.deploy/hostinger/—docker-compose.yml+Caddyfile+ submission doc for the Hostinger VPS Application Catalog. Deployable as-is today on any Hostinger VPS with the Ubuntu 24.04 + Docker template; listing in the catalog requires BD outreach.deploy/digitalocean/— Packer template + cloud-init + systemd unit + Caddy config + provisioner/validator scripts following thedigitalocean/marketplace-partnerslayout. Submits as a DigitalOcean Marketplace 1-Click App.All three reuse
ghcr.io/getalby/hub:latest— noDockerfileorbuild-docker.yamlchanges.Open question
The DigitalOcean path is the heaviest artifact here (9 files, needs a Packer build + DO partner submission). A lightweight alternative: replace it with a single cloud-init user-data YAML that users paste into DO's "User Data" field when creating a droplet. Same provisioning, no Packer, no partner program, and the same file works on Hetzner / Linode / Vultr / any Ubuntu cloud. Tradeoff: no marketplace listing for DO-native discovery. Happy to swap on request.
Draft — not ready to merge
Each marketplace still needs work outside this PR before it's user-visible:
README.md.packer buildagainst a DO account, open a PR againstdigitalocean/marketplace-partners.Test plan
docker compose up -din a fresh Ubuntu 24.04 VM — verify Hub reaches setup wizard onhttp://<vm-ip>:8080.DOMAIN=<real>.example.com docker compose --profile tls up -dwith DNS pointed at the VM — verify Caddy provisions a Let's Encrypt cert and serveshttps://<domain>/.packer build deploy/digitalocean/marketplace-image.jsonagainst a DO token — verify snapshot is created and a droplet launched from it reaches the setup wizard and shows the MOTD on SSH./opt/albyhub/datavolume persists and the systemd unit brings Hub back up.