Skip to content

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

License

Notifications You must be signed in to change notification settings

nguyenanhung/infra-caddy-guy

Repository files navigation

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

git clone https://github.com/nguyenanhung/infra-caddy-guy.git && cd infra-caddy-guy && ./bin/enable-shortcut

and use it

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

# Connect Caddy Network
docker network connect bear_caddy_net <container_name>
# Disconnect Caddy Network
docker 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

networks:
    # ...
    bear_caddy_net:
        external: true
    # ...

✅ 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

Name Email GitHub LinkedIn
Hung Nguyen dev@nguyenanhung.com @nguyenanhung @nguyenanhung

From 🐼 Bear Family with Love ♥️

About

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

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages