serversideup / spin

🚀 Replicate your production environment locally using Docker. Just run "spin up". It's really that easy.
https://serversideup.net/open-source/spin/
GNU General Public License v3.0
1.21k stars 43 forks source link

Add support for a decentralized templating system with `spin new` #74

Closed jaydrogers closed 2 months ago

jaydrogers commented 6 months ago

Discussed in https://github.com/serversideup/spin/discussions/57

Originally posted by **jaydrogers** January 8, 2024 # 👉 Describe the problem [comment]: <> (What are you trying to solve?) - All templates for Spin must be committed to the repository, meaning it's difficult to scale from a community perspective - People want to contribute templates, but they don't know how # 👥 Problem evidence & reach [comment]: <> (How many people have this problem?) #### YouTube comment (https://www.youtube.com/watch?v=I_dq-kRDztI): image # 🥰 Describe the "impact" on users? [comment]: <> (How will this make people's lives better once it is solved?) This would make the community be more self-sustained and improve compatibility for other people to start using Spin. # 🏆 How to solve this problem [comment]: <> (Describe the feature that you are proposing and how it will solve the problem) ### Build a template system based off of NPM We can use the existing package delivery system of NPM to distribute Docker compose templates. Yeah, I know -- I can't believe I just said that. Hear me out... - NPM is a package system that people already use and most are familiar with - Users can easily create their own templates if needed - Users can publish their own templates and share it with the world `spin new @myorg/my-awesome-template ### Have support for "official templates" We will continue to support official templates where users can run `spin new laravel` which would just shortcut to a Server Side Up package. ### Guides & Documentation - [x] Create a developer guide on how to build and test their own templates
jaydrogers commented 2 months ago

This is available with the 2.0 release 🥳 https://serversideup.net/open-source/spin/docs/project-templates/create-your-own-template