nguyenanhung

nguyenanhung /infra-caddy-guy

A lightweight Server management script set, backend is Docker, Caddy Web Server. Makes the life of the infra guy a little simpler and easier.

34
7
GitHub
Public

Repository Statistics

Key metrics and engagement data

34
Stars
7
Forks
0
Open Issues
0
Releases
1.21
Engagement Rate
Default branch: main

Timeline

Repository has been active for 4 months

Repository Created

Last Commit
Recently active

README.md

Infra Caddy Guy's Scripts

License Last Commit Issues Contributions welcome

A lightweight Server management script set, backend is Docker, Caddy Web Server. Makes the life of the infra guy a little simpler and easier.

Screenshot

📋 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.

shell
1# Connect Caddy Network
2docker network connect bear_caddy_net <container_name>
shell
1# Disconnect Caddy Network
2docker network disconnect bear_caddy_net <container_name>
Permanent (if using docker-compose)

Add the network name of the Caddy Web Server to your docker-compose.yml file

yaml
1networks:
2 # ...
3 bear_caddy_net:
4 external: 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

🚀 Deployment

  • Blue/Green Rolling Deployment

⛓️ Integration

  • Amazon Web Services CLI integration (awscli)

📄 Documentation

🤝 Contributing

See the CONTRIBUTING.md guide to get started.

👉 Contact

NameEmailGitHubLinkedIn
Hung Nguyen[email protected]@nguyenanhung@nguyenanhung

From 🐼 Bear Family with Love ♥️