Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grantbirki/ingress
VM ingress for directing traffic to other docker compose stacks
https://github.com/grantbirki/ingress
ingress self-hosted
Last synced: 2 months ago
JSON representation
VM ingress for directing traffic to other docker compose stacks
- Host: GitHub
- URL: https://github.com/grantbirki/ingress
- Owner: GrantBirki
- License: mit
- Created: 2023-11-17T23:55:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-04T07:30:53.000Z (2 months ago)
- Last Synced: 2024-12-09T14:18:54.997Z (2 months ago)
- Topics: ingress, self-hosted
- Language: Shell
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ingress ๐ฅ
[![deploy](https://github.com/GrantBirki/ingress/actions/workflows/deploy.yml/badge.svg)](https://github.com/GrantBirki/ingress/actions/workflows/deploy.yml)
[![Unlock On Merge](https://github.com/GrantBirki/ingress/actions/workflows/unlock-on-merge.yml/badge.svg)](https://github.com/GrantBirki/ingress/actions/workflows/unlock-on-merge.yml)VM ingress for directing traffic to other docker compose stacks
## About โญ
This project assumes that you have a freshly deployed VM in the _cloud_. Now that you have a VM with docker + compose, you might want to host several domains for applications and all in different docker compose stacks. This ingress allows you to expose multiple domains on a single virtual machine and then route traffic to each docker compose stack.
- [Docker Compose](./docker-compose.yml) to run the ingress
- [Caddy](./src) to automatically generate SSL certificates for your domain(s)
- [Branch Deploy workflow](./.github/workflows/branch-deploy.yml) to help you ship changes to production (on your VM)## Getting Started ๐
First, clone this repo to your virtual machine / vps. Then enter the directory of the repo you just cloned.
Now run the following command:
> Note: Before you run this command, ensure that you have a DNS record pointed to the static IP of your VM. This is required for the SSL certificate to be generated by [Caddy](https://github.com/caddyserver/caddy)
```bash
script/deploy
```This will deploy ingress
## Updating ingress ๐
Once your project is fully setup, you will likely want to apply updates from the upstream repository of ingress. To do this, either wait for Dependabot to open a PR or open one yourself.
You can comment `.deploy` on the pull request to branch-deploy and test out the update before fully "committing" to the change and merging the branch into `main`
## Localhost Testing ๐งช
```bash
curl -I -k https://localhost/health
```