metakgp / metaploy

The Metakgp nginx deployment architecture.
GNU General Public License v3.0
3 stars 1 forks source link
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![Wiki][wiki-shield]][wiki-url]


image

MetaPloy

Taking over the world one deployment at a time.
Report Bug · Request Feature

Table of Contents - [About](#about-the-project) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Debugging on server](#debugging-on-server) - [Maintainer(s)](#maintainers) - [Contact](#contact) - [Additional documentation](#additional-documentation)

About

MetaPloy is just a containerized Nginx reverse proxy that acts as the main webserver. It exposes a docker network named metaploy-network and a volume named metaploy-nginx-config-volume. The volume is mounted at /etc/nginx/sites-enabled/

Each projected hosted on the server should be containerized and connected to the metaploy-network. Each project has its own Nginx configuration file which should be copied to the metaploy-nginx-config-volume volume.

These config files are included inside the top-level http directive and should contain only the server directives. See the usage section for examples.

(back to top)

Getting Started

Prerequisites

Docker and docker compose are the only required dependencies. You can either install Docker Desktop or the Docker Engine. For minimal installations and server use cases, Docker Engine is recommended.

(back to top)

Installation

  1. Clone this repository.
  2. Copy the contents of the .env.template file into the .env file. Create the file if it doesn't exist.
  3. Set the SERVER_PORT variable to the desired port. This is the port at which the server will be accessible on the system.
  4. Run docker compose up to start MetaPloy.

(back to top)

Debugging on server

Sometimes we have to debug things out in production environment. To make this process streamlined there is an auto reload script running as a background service which checks for any changes made to nginx configurations (/etc/nginx/nginx.conf and /etc/nginx/sites-enabled/*) and reloads nginx automatically. Check out the script here. In case you need to debug the script itself you can check-out the logs in the docker container located at /nginx_auto_reload_service.log.

Maintainer(s)

(back to top)

Contact

📫 Metakgp - Metakgp's slack invite Metakgp's email metakgp's Facebook metakgp's LinkedIn metakgp's Twitter metakgp's Instagram

(back to top)

Additional documentation

(back to top)