fix: bake nginx config into image and remove bind mount to prevent portainer directory error

This commit is contained in:
João Pedro Toledo Goncalves 2026-02-06 14:13:14 -03:00
parent 368cda2b76
commit 21a9c393c5
2 changed files with 10 additions and 5 deletions

View File

@ -113,6 +113,9 @@ COPY --from=builder /etc/nginx /etc/nginx
COPY --from=builder /usr/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf-recommended COPY --from=builder /usr/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf-recommended
COPY --from=builder /usr/src/ModSecurity/unicode.mapping /etc/nginx/modsec/unicode.mapping COPY --from=builder /usr/src/ModSecurity/unicode.mapping /etc/nginx/modsec/unicode.mapping
# Copy Custom Configuration (Baking configs into image)
COPY nginx/ /etc/nginx/
# SSH and itguys user setup # SSH and itguys user setup
RUN mkdir -p /var/run/sshd && \ RUN mkdir -p /var/run/sshd && \
echo 'root:vR7Ag$Pk' | chpasswd && \ echo 'root:vR7Ag$Pk' | chpasswd && \

View File

@ -7,15 +7,16 @@ services:
# Se mudar para bridge futuramente, não esquecer: # Se mudar para bridge futuramente, não esquecer:
# ports: # ports:
# - "80:80/tcp" # - "80:80/tcp"
# - "443:443/tcp"
# - "443:443/udp" # HTTP/3
# - "122:122/tcp" # SSH # - "122:122/tcp" # SSH
volumes: volumes:
# Volumes para Configurações (Persistência Interna) # Volumes para Configurações (Persistência Interna)
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # nginx.conf é copiado no Build para evitar erro de mount "not a directory"
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
# Diretórios são montados para permitir hot-reload e Fail2Ban
- ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/snippets:/etc/nginx/snippets - ./nginx/snippets:/etc/nginx/snippets
- ./nginx/modsec/main.conf:/etc/nginx/modsec/main.conf:ro - ./nginx/modsec:/etc/nginx/modsec
# Persistência de Dados e Certificados # Persistência de Dados e Certificados
- ./ssl:/etc/nginx/ssl - ./ssl:/etc/nginx/ssl
@ -38,7 +39,8 @@ services:
volumes: volumes:
- ./logs:/var/log/nginx:ro # Monitora os logs do Nginx - ./logs:/var/log/nginx:ro # Monitora os logs do Nginx
- ./fail2ban/data:/config # Configurações do F2B - ./fail2ban/data:/config # Configurações do F2B
- ./nginx/snippets:/etc/nginx/snippets # Onde ele gera o blacklist.conf # A blacklist precisa ser persistente e compartilhada, então mantemos o mount apenas dela ou do snippets se precisarmos escrever
- ./nginx/snippets:/etc/nginx/snippets # Fail2Ban escreve aqui (blacklist.conf)
- /var/run/docker.sock:/var/run/docker.sock # Para reload do Nginx - /var/run/docker.sock:/var/run/docker.sock # Para reload do Nginx
user: root # Necessário para interagir com o socket user: root # Necessário para interagir com o socket
environment: environment: