2 years ago
This post is part of Railway's 2024 product roadmap kickoff, the Railway team spends the first week every three months sharing our thought process and concepts of what we plan to build.
Project cheerleader: Melissa Hale
Ever since we did the Template Bounty program in June. We now have 500+ Templates and counting on the platform. However, users have noted that:
Templates become stale quickly
They don't quickly adopt the new features that are shipped that help templates (meta)
Creating new templates still isn't as fun as it could be
We are thinking about having the concept of having the canvas on Railway allow users to build and specify new templates where users/companies on the platform can build and distribute updates to their templates the same way they do with projects on Railway.
As with everything, we want your thoughts- is this something you'd like to see? What's stopping you from shipping a template? Whats painful?
0 Threads mention this feature
12 Replies
2 years ago
Whats painful?
template collaboration - templates are currently only able to be worked on by a singular person
setting variables - a raw style editor would give a better overview of a service's variables
2 years ago
I'd very much like to be able to have a template (or a general project!) be a single GitHub repo or folder with an HCL, JSON, or YAML file at the root where I can define all of my infrastructure. Having to manage everything in a GUI isn't really my cup of tea, personally.
2 years ago
Aleks, not to put the entire burden on you, but if you have a spec in mind- we'd be all ears.
2 years ago
Feedback on Creating templates:
https://discord.com/channels/713503345364697088/1193959100204208208/1194509179432476722
2 years ago
I'd very much like to be able to have a template (or a general project!) be a single GitHub repo or folder with an HCL, JSON, or YAML file at the root where I can define all of my infrastructure.
I think that would be awesome
2 years ago
I would like the edit and update template pages to be unified into a single new editing and publishing page, where you could change all aspects of the template down to their service icons. I think the canvas style would work perfectly for this!
the unified page would still work for unpublished templates but would require all the normal publishing information upon wanting to publish
2 years ago
Imo I think there’s too much clicking while editing a template in the UI and it’s even worse if u have a lot of ENV vars to set, a raw paste option would be incredible (but idk how it would work with the descriptions)
2 years ago
Imo I think there’s too much clicking while editing a template in the UI and it’s even worse if u have a lot of ENV vars to set, a raw paste option would be incredible (but idk how it would work with the descriptions)
I agree with this, the more variables there are on the template the more unruly it starts to become. A raw/json editor similar to that in the project would be awesome and create a more cohesive experience.
I would like the edit and update template pages to be unified into a single new editing and publishing page, where you could change all aspects of the template down to their service icons. I think the canvas style would work perfectly for this!
the unified page would still work for unpublished templates but would require all the normal publishing information upon wanting to publish
This would be spectacular, having to hop around between two spots creates unnecessary friction to the process and having it all unified would be a good quality of life improvement.
2 years ago
Nothing confuses me more than looking inside my project and see a bunch of jumbled up services. If we could group some related services in projects, it would be great. Eg. when we Import a new template in a project and it has more than one service it shows a nice border outside the imported services which shows that they are a group and function together.
Thanks.
(My bad it does not belong here)
2 years ago
Aleks, not to put the entire burden on you, but if you have a spec in mind- we'd be all ears.
Didn't see this, sorry! I'm thinking maybe something like this in a railway-project.yaml or something in the root of the repo:
name: Ultra Super SaaS
contents:
- variable: MY_SHARED_VAR
value: $up3rS3cr3t!
- volume: strapi-data
- service: frontend
root: frontend/ # pulls from the current directory if possible
domain: ultrasupersaas.com
- service: backend
dir: backend
env:
PORT: 8080
APP_URL: ${{RAILWAY_PUBLIC_URL}} # or whatever the variable's called
config: # replaces options from `railway.json` in the provided `dir`
builder: dockerfile
domain:
- backboard.ultrasupersaas.com
- whyofcourseweneedanotherdomain.com
- service: strapi
image: strapi/strapi # Deploy from a Docker image
mount:
/var/lib/strapi: strapi-data
- service: api
repo: aleksrutins/supersaasapi # Deploy from a GitHub Repo
domain: $generate # there's probably a better syntax for this
- template: postgres # Merge in a template from the Railway registry
- template: aleksrutins/notafaketemplate # Merge in a template from GitHubIt would also be nice to have an official Terraform provider.
2 years ago
2 things I think would be nice:
A way to edit a config file before deploying the service. For example, I have a template for running a Cloudflare Tunnel (https://railway.app/template/cIsLIC?referralCode=vanUWT) where the service has a
config.ymlfile that should be different for every single user based on their deployment. (This would also be helpful for the Prometheus template on the marketplace as well)Some ways to potentially offer variations of the same template. For the same template I have it would be nice if I could offer premade templates with different frameworks/languages. For example, I could have one using Node+Express, or Rust+Axum, or Laravel, etc etc. Would also be cool if any services could be marked as optional and omitted if a user did not want something that is not required (Prometheus is not required in my case).
2 years ago
Hey y'all, we've started making strides on this project so sharing a quick update here on the new template creation experience based on the canvas.
Edit: Looks like we don't support videos yet? Updated preview to an image.
Status changed to Completed unicodeveloper • 11 months ago