
Deploy gorse-in-one
Gorse is an AI powered open-source recommender system written in Go.
zhenghaoz/gorse-in-one
Just deployed
Deploy and Host Gorse on Railway
Gorse is an AI powered open-source recommender system written in Go. Gorse aims to be a universal open-source recommender system that can be quickly integrated into a wide variety of online services. By importing items, users, and interaction data into Gorse, the system will automatically train models to generate recommendations for each user.
About Hosting
This template deploys Gorse in its gorse-in-one form: a single container that runs the master, server, and worker nodes together. The master trains models and hosts the dashboard, the server answers recommendation API requests, and the worker generates recommendations in the background. Running all three in one process keeps the setup simple and cheap, with one service to deploy and monitor.
Gorse stores its data in a database and keeps intermediate results in a cache store, so the template connects the Gorse service to those databases over Railway's private network. The dashboard and RESTful API are served on a public Railway domain (port 8088). You can add or remove data and cache backends through environment variables, and you can later split Gorse into separate master, server, and worker services if you need to scale.
Why Deploy
- One-click setup. Gorse, its database, and its cache are provisioned and wired together, so there's no Docker Compose or manual config file.
- Built-in dashboard. Monitor training tasks, inspect users, items, and feedback, and edit your recommendation pipeline from the web UI.
- Ready-to-use API. Start inserting feedback and fetching recommendations over REST as soon as the deploy finishes.
- Private networking. Gorse talks to its databases over Railway's internal network, so your data stores aren't exposed publicly.
- Easy to grow. Redeploy, add environment variables, attach volumes, or scale resources from the Railway dashboard.
Common Use Cases
- Personalized feeds: recommend articles, videos, posts, or products to each user based on their behavior.
- E-commerce: "recommended for you" and "customers also liked" sections on product pages and in carts.
- Content and media platforms: suggest the next song, show, course, or lesson.
- Related items: item-to-item recommendations such as similar repositories, listings, or documents.
- Prototyping and evaluation: try a recommender on your own data before committing to a larger architecture.
Dependencies for Gorse
Gorse-in-one needs two storage backends. Both are included in this template.
- Data store: persists users, items, and feedback. Gorse supports MySQL, PostgreSQL, and MongoDB.
- Cache store: holds intermediate results and generated recommendations. Gorse supports Redis, MySQL, PostgreSQL, and MongoDB.
Deployment Dependencies
- Gorse documentation
- Gorse GitHub repository (Apache-2.0)
- Gorse-in-one Docker image
- Gorse Docker deployment guide
Implementation notes
- The dashboard and REST API share port 8088 in gorse-in-one. A gRPC port (8086) is also available for node communication.
- Gorse's "playground mode" (
--playground) loads sample GitHub data into an embedded database for demos. It isn't meant for production, so this template uses real database services instead. - Training and recommendation generation start after you import users, items, and feedback. Check the dashboard's task page to see when models are ready.
Template Content
zhenghaoz/gorse-in-one
zhenghaoz/gorse-in-one