{"id":30277169,"url":"https://github.com/ysdragon/deploy-ring","last_synced_at":"2025-08-16T11:14:13.482Z","repository":{"id":309780361,"uuid":"1037531433","full_name":"ysdragon/deploy-ring","owner":"ysdragon","description":"The definitive guide to deploying Ring applications.","archived":false,"fork":false,"pushed_at":"2025-08-13T18:24:51.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-13T20:43:52.136Z","etag":null,"topics":["caddy","cloud","cpanel","directadmin","docker","litespeed","nginx","plesk","ring-programming-language","traefik"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysdragon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-13T18:01:57.000Z","updated_at":"2025-08-13T19:37:40.000Z","dependencies_parsed_at":"2025-08-13T20:43:53.645Z","dependency_job_id":"7f4a7eaf-c60b-4463-beb8-1d94919938ac","html_url":"https://github.com/ysdragon/deploy-ring","commit_stats":null,"previous_names":["ysdragon/deploy-ring"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ysdragon/deploy-ring","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysdragon%2Fdeploy-ring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysdragon%2Fdeploy-ring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysdragon%2Fdeploy-ring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysdragon%2Fdeploy-ring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysdragon","download_url":"https://codeload.github.com/ysdragon/deploy-ring/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysdragon%2Fdeploy-ring/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270702562,"owners_count":24630877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caddy","cloud","cpanel","directadmin","docker","litespeed","nginx","plesk","ring-programming-language","traefik"],"created_at":"2025-08-16T11:14:12.823Z","updated_at":"2025-08-16T11:14:13.470Z","avatar_url":"https://github.com/ysdragon.png","language":null,"readme":"\u003cdiv align=\"center\"\u003e\n\n# Ring Cloud Deployment Guides\n\n\u003cp\u003e\n  \u003cstrong\u003eThe definitive guide to deploying Ring applications.\u003c/strong\u003e\n  \u003cbr /\u003e\n  From modern PaaS providers and cloud servers with Docker to traditional shared hosting, we provide clear, production-ready tutorials to get you live.\n\u003c/p\u003e\n\n[license]: https://img.shields.io/github/license/ysdragon/deploy-ring?style=for-the-badge\u0026logo=opensourcehardware\u0026label=License\u0026logoColor=C0CAF5\u0026labelColor=414868\u0026color=8c73cc\n\n[prs-welcome]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge\n\n[![][license]](https://github.com/ysdragon/deploy-ring/blob/main/LICENSE)\n[![][prs-welcome]](https://github.com/ysdragon/deploy-ring/pulls)\n\n\n\u003c/div\u003e\n\n---\n\nDeploying web applications can be complex. This repository simplifies that process for the **Ring programming language** by providing a collection of comprehensive, step-by-step tutorials for various hosting environments.\n\n## 🎯 Core Philosophy\n\nOur goal is to make these guides:\n\n*   ✅ **Production-Ready:** Go beyond \"hello world\" with robust setups that include security, SSL, and best practices ready for real traffic.\n*   📘 **Clear \u0026 Step-by-Step:** Provide easy-to-follow instructions that explain both the \"how\" and the \"why.\"\n*   🔧 **Flexible \u0026 Comprehensive:** Cover multiple popular hosting scenarios and tools, so you can choose the best fit for your project.\n\n## 🚀 Which Tutorial is Right for Me?\n\nUse this table to quickly decide which guide best fits your needs.\n\n| If your hosting environment is... | Then choose this tutorial... | Key Technologies You'll Use |\n| :--- | :--- | :--- |\n| A **Managed Cloud Platform (PaaS)** where infrastructure, networking, and SSL are handled for you, and you want the simplest deployment. | 🚀 **Deploying to Modern Cloud Platforms** | `Docker`, `Fly.io`, `Railway.app` |\n| A **Cloud VM** (AWS, GCP, DigitalOcean, etc.) with `root` or `sudo` access, where you want full control over your server stack. | 🐳 **Deploying with Docker \u0026 Reverse Proxy** | `Docker`, `HTTPLib`, `Nginx`, `Traefik`, `Caddy`, `Let's Encrypt` |\n| **Shared Hosting** (cPanel, Plesk, etc.) with limited permissions (no background processes) and FTP/SFTP access. | 📜 **Deploying with CGI** | `Apache`, `LiteSpeed`, `CGI`, `Nginx`, `FastCGI` |\n\n---\n\n## 📚 Available Tutorials\n\n### 🚀 1. Modern PaaS Deployment on Fly.io \u0026 Railway.app\n\n[**➡️ Read the Tutorial: Deploying to Modern Cloud Platforms**](tutorials/ring_cloud_platforms.md)\n\nThis is the fastest and most straightforward path to a live, secure application. It's designed for developers who want to focus on code, not infrastructure. These platforms automatically build your Docker container and handle all the networking, SSL, and scaling for you.\n\n**What you will learn:**\n*   The core concepts of deploying to a Platform-as-a-Service (PaaS).\n*   Deploying a containerized Ring application from your command line in minutes.\n*   Using the **`flyctl`** CLI to launch an application on Fly.io's global network.\n*   Using the **`railway`** CLI to instantly deploy an application on Railway.app.\n*   Why this is the ideal approach for rapid prototyping and hassle-free deployments.\n\n### 🐳 2. Modern Cloud Deployment with Docker \u0026 a Reverse Proxy\n\n[**➡️ Read the Tutorial: Deploying with Docker**](tutorials/ring_cloud.md)\n\nThis guide covers the modern, industry-standard method for deploying web applications on cloud servers where you have full control. It demonstrates how to containerize your Ring `HTTPLib` application using **Docker** and manage it with a powerful reverse proxy.\n\n**What you will learn:**\n*   Containerizing a Ring web application built with `HTTPLib`.\n*   Setting up a local development environment with **Docker Compose**.\n*   Deploying to production with automatic, free **SSL (HTTPS)** from Let's Encrypt.\n*   How to implement three different battle-tested reverse proxy setups:\n    *   **Nginx:** For a classic, high-performance, and stable configuration.\n    *   **Traefik:** For a modern, dynamic edge router that automatically discovers services.\n    *   **Caddy:** For the ultimate simplicity with fully automated HTTPS out of the box.\n\n### 📜 3. Traditional Hosting Deployment with CGI\n\n[**➡️ Read the Tutorial: Deploying with CGI**](tutorials/ring_cloud_cgi.md)\n\nThis guide is perfect for developers on traditional hosting environments (like **cPanel** or **Plesk**) where running a persistent server process isn't an option. It covers the classic and highly compatible **CGI (Common Gateway Interface)** model.\n\n**What you will learn:**\n*   Creating a CGI-compatible Ring script (which does not use `HTTPLib`).\n*   Using a universal, secure CGI wrapper script to execute your `.ring` files.\n*   **Path A:** Deploying on shared hosting with **Apache/LiteSpeed**.\n*   **Path B:** Deploying on a cloud VM with **Nginx** and `fcgiwrap`.\n*   Platform-specific tips for **cPanel, Plesk, DirectAdmin, and KeyHelp**.\n\n## 💡 How to Use These Tutorials\n\n1.  **Check the Prerequisites:** Before you begin, ensure you have:\n    *   A basic understanding of the [Ring programming language](https://ring-lang.github.io/).\n    *   Familiarity with your computer's command line or terminal.\n    *   For the PaaS guide: A free **Fly.io** or **Railway.app** account and their respective CLIs.\n    *   For the Docker guide: **Docker** and **Docker Compose** installed.\n    *   For the CGI guide: Access to a shared hosting account or a cloud VM.\n\n2.  **Choose Your Guide:** Use the table above to select the tutorial that matches your hosting environment.\n\n3.  **Follow the Steps:** Each tutorial is designed to be followed from start to finish. Clone this repository or simply read the guide directly on GitHub.\n\n## 🤝 Contributing\n\nContributions are the lifeblood of the open-source community. Any contributions you make are **greatly appreciated**.\n\n*   **Find an error?** Found a typo or a step that could be clearer? Open an issue or submit a pull request!\n*   **Have a new guide?** We would love to include tutorials for other environments (e.g., different cloud providers, serverless platforms).\n*   **Have a suggestion?** Let's hear your ideas for improving the existing tutorials!\n\nPlease feel free to [open an issue](https://github.com/ysdragon/deploy-ring/issues) or [submit a pull request](https://github.com/ysdragon/deploy-ring/pulls).\n\n## License\n\nThis project is distributed under the MIT License. See the [`LICENSE`](LICENSE) file for more information.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysdragon%2Fdeploy-ring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysdragon%2Fdeploy-ring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysdragon%2Fdeploy-ring/lists"}