A lightweight Server management script set, backend is Docker, Caddy Web Server. Makes the life of the infra guy a
little simpler and easier.
📋 Scope of Workflow
The purpose of this script is to simplify the installation process, especially for projects running standalone servers
or staging, dev environments.
It may not be suitable for cloud auto-scaling, because I don't really intend to deploy it that way. Implementing
auto-scaling requires a higher level of IaC (Infrastructure as Code)
📋 OS Support
RHEL Based: CentOS, Almalinux, Rocky Linux and Red Hat Enterprise Linux
Fedora based
Ubuntu/Debian
Amazon Linux 2 and Amazon Linux 2023
MacOS
📋 Installation
bash
1git clone https://github.com/nguyenanhung/infra-caddy-guy.git && cd infra-caddy-guy && ./bin/enable-shortcut
and use it
bash
1infra-caddy intro
📋 Guidelines
🆘 Important note
If another container needs to connect to the Caddy Web Server network, it needs to connect to the Caddy Web Server network.
Temporary/Short Term: Will be invalidated if restarted or down mode
<container_name> is the name of the container to connect to.
Add the network name of the Caddy Web Server to your docker-compose.yml file
yaml
1networks:
2# ...
3bear_caddy_net:
4external:true
5# ...
✅ Stack
Docker, docker-compose, fzf
Caddy Web Server: sites, reverse proxy, load balancer and basic authentication
Laravel Builder: Start from scratch with Laravel Framework Playbook, select version, worker and anything...
WordPress Builder: Start from scratch with WordPress and choose theme, plugins...
Static Site Server
Node.js Builder: Start from scratch with NestJS Playbook, select version, port and anything...
Node.js Application: Simple and lightweight connect Caddy Web Server with you Node.js Application
PHP Application Routing
Improve security (file, header) of common application: PHP, Node.js, SPA, Static site, Reverse Proxy
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.
... and others packages supporting, can be mentioned as redis, memcached, mongodb, mariadb, mysql,
percona, postgresql, influxdb, rabbitmq, beanstalkd, gearmand, elasticsearch, mailhog, mailpit,
phpmyadmin, adminer, uptime-kuma, n8n, minio