Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gpupo/httpd-gateway
Docker Composer with Nginx Proxy + Letsencrypt + Traefik
https://github.com/gpupo/httpd-gateway
docker letsencrypt nginx traefik
Last synced: 3 months ago
JSON representation
Docker Composer with Nginx Proxy + Letsencrypt + Traefik
- Host: GitHub
- URL: https://github.com/gpupo/httpd-gateway
- Owner: gpupo
- License: mit
- Created: 2019-02-06T13:04:19.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2022-07-04T13:36:21.000Z (over 2 years ago)
- Last Synced: 2023-03-23T17:02:00.882Z (almost 2 years ago)
- Topics: docker, letsencrypt, nginx, traefik
- Language: Shell
- Homepage: http://opensource.gpupo.com/httpd-gateway/
- Size: 152 KB
- Stars: 2
- Watchers: 2
- Forks: 6
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# httpd-gateway
[![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/gpupo/httpd-gateway)
![mermaid-diagram](Resources/mermaid-diagram.svg?raw=true)
Components
* https://github.com/nginx-proxy/nginx-proxy/
* https://github.com/nginx-proxy/acme-companion## Install
git clone https://github.com/gpupo/httpd-gateway.git;
cd httpd-gateway;
make setup;
## Usage
Start server
make start;
Start server [Sem proxy server]
make boot@alone;
Stop server
make stop;
Other commands:
make help
## Configure new domains
In each App, the Docker configuration service of the webserver must include the information of the domain for which it will be responsible and then connect to the nginx-proxy network.
You can use webservers other than NGINX and you do not need to open the webserver port publicly, just expose it.
### Examples
Webserver with **HTTP** on port 80
```
version: '3.3'
#see https://www.openproject.org/docker/
services:
openproject:
image: openproject/community:8
expose:
- 80
environment:
- VIRTUAL_HOST=openproject.foo.bar
- VIRTUAL_PORT=80
networks:
- default
networks:
default:
external:
name: frontendNetwork
```Webserver with **HTTPS** on port 443
```
version: '3.3'
#see https://hub.docker.com/r/linuxserver/pydio/
services:
pydio:
image: linuxserver/pydio
expose:
- 443
environment:
- VIRTUAL_HOST=pydio.foo.bar
- VIRTUAL_PROTO=https
- VIRTUAL_PORT=443
networks:
- default
networks:
default:
external:
name: frontendNetwork
```## Keep domais up
Edit ~/stage/config and include your domains
Put your Apps at ~/stage/${DOMAIN}/current and run ``make start`` or ``bin/up-stages.sh``
## Keep domais up after an update
sudo yum update -y && cd ~/httpd-gateway && make start
### Crontab (at boot)
Setup log file
sudo touch /var/log/httpd-gateway;
sudo chmod 666 /var/log/httpd-gateway;Add to crontab
@reboot ~/httpd-gateway/boot >> /var/log/httpd-gateway 2>&1