{"id":50789696,"url":"https://github.com/nguyenanhung/infra-caddy-guy","last_synced_at":"2026-06-12T10:02:43.833Z","repository":{"id":290894558,"uuid":"944652746","full_name":"nguyenanhung/infra-caddy-guy","owner":"nguyenanhung","description":"A lightweight Server management script set, backend is Docker, Caddy Web Server. Makes the life of the infra guy a little simpler and easier.","archived":false,"fork":false,"pushed_at":"2025-05-26T17:27:24.000Z","size":350,"stargazers_count":40,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-06-09T07:35:57.863Z","etag":null,"topics":["caddy","caddyserver","caddyserver-custom-packages","containerization","docker","docker-compose","iac","infrastructure-as-code","webserver","webserver-setup"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/nguyenanhung.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-03-07T18:17:11.000Z","updated_at":"2026-05-09T12:31:41.000Z","dependencies_parsed_at":"2025-05-01T07:29:52.626Z","dependency_job_id":null,"html_url":"https://github.com/nguyenanhung/infra-caddy-guy","commit_stats":null,"previous_names":["nguyenanhung/infra-caddy-guy"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/nguyenanhung/infra-caddy-guy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenanhung%2Finfra-caddy-guy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenanhung%2Finfra-caddy-guy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenanhung%2Finfra-caddy-guy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenanhung%2Finfra-caddy-guy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nguyenanhung","download_url":"https://codeload.github.com/nguyenanhung/infra-caddy-guy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenanhung%2Finfra-caddy-guy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34238715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"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","caddyserver","caddyserver-custom-packages","containerization","docker","docker-compose","iac","infrastructure-as-code","webserver","webserver-setup"],"created_at":"2026-06-12T10:02:42.966Z","updated_at":"2026-06-12T10:02:43.815Z","avatar_url":"https://github.com/nguyenanhung.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infra Caddy Guy's Scripts\n![License](https://img.shields.io/github/license/nguyenanhung/infra-caddy-guy)\n![Last Commit](https://img.shields.io/github/last-commit/nguyenanhung/infra-caddy-guy)\n![Issues](https://img.shields.io/github/issues/nguyenanhung/infra-caddy-guy)\n![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)\n\nA lightweight Server management script set, backend is Docker, Caddy Web Server. Makes the life of the infra guy a\nlittle simpler and easier.\n\n![Screenshot](https://live.staticflickr.com/65535/54371975845_f827eeeb9c_b.jpg)\n\n## 📋 Scope of Workflow\n\nThe purpose of this script is to simplify the installation process, especially for projects running standalone servers\nor staging, dev environments.\n\nIt may not be suitable for cloud auto-scaling, because I don't really intend to deploy it that way. Implementing\nauto-scaling requires a higher level of IaC (Infrastructure as Code)\n\n### 📋 OS Support\n\n- [x] RHEL Based: CentOS, Almalinux, Rocky Linux and Red Hat Enterprise Linux\n- [x] Fedora based\n- [x] Ubuntu/Debian\n- [x] Amazon Linux 2 and Amazon Linux 2023\n- [x] MacOS\n\n## 📋 Installation\n\n```bash\ngit clone https://github.com/nguyenanhung/infra-caddy-guy.git \u0026\u0026 cd infra-caddy-guy \u0026\u0026 ./bin/enable-shortcut\n```\n\nand use it\n\n```bash\ninfra-caddy intro\n```\n\n## 📋 Guidelines\n\n### 🆘 Important note\n\n#### If another container needs to connect to the Caddy Web Server network, it needs to connect to the Caddy Web Server network.\n\n##### **Temporary/Short Term: Will be invalidated if restarted or down mode**\n\n\u003e `\u003ccontainer_name\u003e` is the name of the container to connect to.\n\n```shell\n# Connect Caddy Network\ndocker network connect bear_caddy_net \u003ccontainer_name\u003e\n```\n\n```shell\n# Disconnect Caddy Network\ndocker network disconnect bear_caddy_net \u003ccontainer_name\u003e\n```\n\n##### **Permanent (if using docker-compose)**\n\nAdd the network name of the Caddy Web Server to your `docker-compose.yml` file\n\n```yaml\nnetworks:\n    # ...\n    bear_caddy_net:\n        external: true\n    # ...\n```\n\n## ✅ Stack\n\n- [x] Docker, docker-compose, fzf\n- [x] Caddy Web Server: sites, reverse proxy, load balancer and basic authentication\n- [x] Laravel Builder: Start from scratch with Laravel Framework Playbook, select version, worker and anything...\n- [x] WordPress Builder: Start from scratch with WordPress and choose theme, plugins...\n- [x] Static Site Server\n- [x] Node.js Builder: Start from scratch with NestJS Playbook, select version, port and anything...\n- [x] Node.js Application: Simple and lightweight connect Caddy Web Server with you Node.js Application\n- [x] PHP Application Routing\n- [x] Improve security (file, header) of common application: PHP, Node.js, SPA, Static site, Reverse Proxy\n- [x] Quick set up The `Telegram Messenger MTProto proxy` is a zero-configuration container that automatically sets up a proxy server that speaks Telegram's native MTProto.\n- [x] ... and others packages supporting, can be mentioned as `redis`, `memcached`, `mongodb`, `mariadb`, `mysql`,\n  `percona`, `postgresql`, `influxdb`, `rabbitmq`, `beanstalkd`, `gearmand`, `elasticsearch`, `mailhog`, `mailpit`,\n  `phpmyadmin`, `adminer`, `uptime-kuma`, `n8n`, `minio`\n\n## 🚀 Deployment\n\n- [x] Blue/Green Rolling Deployment\n\n## ⛓️ Integration\n\n- [ ] Amazon Web Services CLI integration (`awscli`)\n\n## 📄 Documentation\n- [Code of Conduct](./CODE_OF_CONDUCT.md)\n- [Security Policy](./SECURITY.md)\n- [Support](./SUPPORT.md)\n\n## 🤝 Contributing\nSee the [CONTRIBUTING.md](./CONTRIBUTING.md) guide to get started.\n\n## 👉 Contact\n\n| Name        | Email                | GitHub        | LinkedIn      |\n|-------------|----------------------|---------------|---------------|\n| Hung Nguyen | dev@nguyenanhung.com | @nguyenanhung | @nguyenanhung |\n\nFrom 🐼 Bear Family with Love ♥️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenanhung%2Finfra-caddy-guy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnguyenanhung%2Finfra-caddy-guy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenanhung%2Finfra-caddy-guy/lists"}