{"skill":{"slug":"publish-website-traefik","displayName":"Publish Website Traefik","summary":"Manages static website deployments to subdomains under *.sites.friendify.cloud using Traefik reverse proxy and Docker. Provides functions to deploy, list, an...","description":"---\nname: publish-website-traefik\ndescription: Manages static website deployments to subdomains under *.sites.friendify.cloud using Traefik reverse proxy and Docker. Provides functions to deploy, list, and delete websites. Requires a path to the website files and the desired subdomain name for deployment. Assumes Docker permissions and DNS configuration for Traefik are already set up.\n---\n\n# Publish Website via Traefik\n\nThis skill allows you to publish static websites to subdomains under `*.sites.friendify.cloud` using a Traefik reverse proxy and Docker.\n\n## How to Use\n\n### Example Usage:\n\n```\nTo publish a website, you will run the `deploy_site.sh` script with two arguments:\\n\\n`./scripts/deploy_site.sh <path_to_website_files> <subdomain_name>`\\n\\n**Example:**\\n\\n`./scripts/deploy_site.sh /data/.openclaw/workspace/landingpages/new-deutscheschuleonline my-german-school`\\n\\nThis would deploy the website to `https://my-german-school.sites.friendify.cloud`.\n```\n\n## Architecture: One Website, One Container\n\nThis skill operates on the principle of \"one website per Docker container.\" When you deploy a website, a dedicated Nginx container is launched. Traefik, acting as a reverse proxy, routes traffic from your specified subdomain (`{subdomain}.sites.friendify.cloud`) to this container. This approach ensures:\n\n*   **Isolation:** Each website runs independently, preventing conflicts.\n*   **Dynamic Routing:** Traefik uses Docker labels to automatically configure routing, simplifying management.\n*   **Scalability:** Individual websites can be scaled or updated without affecting others.\n\n## Managing Deployments\n\nThe skill provides the following commands for managing your website deployments:\n\n### Deploying a Website\n\nTo deploy a website, you will run the `deploy_site.sh` script with two arguments:\n\n`./scripts/deploy_site.sh <path_to_website_files> <subdomain_name>`\n\n**Example:**\n\n`./scripts/deploy_site.sh /data/.openclaw/workspace/landingpages/new-deutscheschuleonline my-german-school`\n\nThis would deploy the website to `https://my-german-school.sites.friendify.cloud`.\n\n### Listing Deployed Websites\n\nTo see all currently deployed websites managed by this skill, use the `list_sites.sh` script:\n\n`./scripts/list_sites.sh`\n\nThis will display a list of subdomains and their corresponding URLs.\n\n### Deleting a Website\n\nTo remove a deployed website, use the `delete_site.sh` script, providing the subdomain name:\n\n`./scripts/delete_site.sh <subdomain_name>`\n\n**Example:**\n\n`./scripts/delete_site.sh my-german-school`\n\nThis will stop and remove the associated Docker container and its resources, effectively undeploying the website.","topics":["Website","Docker","Deployment","Deploy"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":333,"installsAllTime":12,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1778232631346,"updatedAt":1779076350523},"latestVersion":{"version":"1.0.0","createdAt":1778232631346,"changelog":"Initial release with deploy, list, and delete functionality.","license":"MIT-0"},"metadata":null,"owner":{"handle":"mailo037","userId":"s1749afz1kd70x7ckknb5yrmmh86ap39","displayName":"Mailo037","image":"https://avatars.githubusercontent.com/u/159426964?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090761989}}