https://github.com/sysvale/nginx-server
Projeto com docker-compose e documentação para um servidor nginx.
https://github.com/sysvale/nginx-server
docker hacktoberfest hacktoberfest2020 nginx nginx-proxy
Last synced: about 2 months ago
JSON representation
Projeto com docker-compose e documentação para um servidor nginx.
- Host: GitHub
- URL: https://github.com/sysvale/nginx-server
- Owner: Sysvale
- Created: 2020-10-27T16:45:56.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-03-02T17:30:50.000Z (over 5 years ago)
- Last Synced: 2023-03-05T06:15:05.979Z (over 3 years ago)
- Topics: docker, hacktoberfest, hacktoberfest2020, nginx, nginx-proxy
- Language: Shell
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nginx-server
## Configuração do container do NGINX
Inicialmente faça uma cópia do arquivo `.env.example` e insira um email de suporte que o certbot possa utilzar:
```
cp .env.example .env
```
Verifique a configuração correta com o comando:
```
docker-compose config
```
Crie a rede que será utilizada pelo container do nginx e pelos containers que serão gerenciados pelo mesmo, com o comando:
```
docker network create nginx
```
Para iniciar o container em background, use:
```
docker-compose up -d
```
## Configuração dos containers que serão conectados a rede
Para cada container é necessário que seja estabelecida uma conexão com a rede no nginx para que o proxy possa funcionar corretamente. Uma configuração simples seria adicionar a rede do nginx como rede padrão do container. Essa mudança pode ser feita, adicionando as seguintes linhas ao arquivo `docker-compose.yml`:
```yml
networks:
default:
external:
name: nginx
```
Após a inserção dos containers na rede do nginx, é necessário criar arquivos de configuração que redirecionam o trafego da rede. Abaixo encontra-se o exemplo de um arquivo de configuração do nginx:
```conf
server {
listen 443 ssl;
server_name DOMAIN;
ssl_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem;
location / {
proxy_pass http://CONTAINER_NAME:8000/;
}
}
```
**Nota:** Para cada novo arquivo de configuração criado, o container do nginx deve ser parado com o `docker-compose down` e executado novamente com o comando ja citado. Isso é necessário para que o nginx carregue os novos arquivos de configuração corretamente.
**Nota:** O mesmo nome de domínio usado em `server_name` deve ser utilizado também em `ssl_certificate` e `ssl_certificate_key`.