init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
ENV APACHE_RUN_USER=www-data
ENV APACHE_RUN_GROUP=www-data
ENV TZ="America/Sao_Paulo"
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
ca-certificates \
curl \
wget \
lsof \
supervisor \
zip \
unzip \
apache2 \
php7.4 \
php7.4-mysql \
php7.4-interbase \
php7.4-mbstring \
php7.4-xml \
php7.4-zip \
php7.4-gd \
php7.4-curl
RUN a2enmod rewrite
RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb \
&& apt-get install -y ./wkhtmltox_0.12.6-1.focal_amd64.deb --no-install-recommends \
&& rm -rf wkhtmltox_0.12.6-1.focal_amd64.deb
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php --install-dir=/bin --filename=composer \
&& php -r "unlink('composer-setup.php');"
RUN apt-get autoremove -y \
&& apt-get clean
RUN rm -rf /var/www/* \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/provisioning*
RUN ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
RUN echo "umask 0003" >> /etc/bash.bashrc
WORKDIR /var/www
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]

View File

@@ -0,0 +1,41 @@
# Imagem base da aplicacao
Substitui `tirkm/v2-application:6` por uma base dedicada ao runtime do
ConectaSUS. Node/npm continuam no stage `frontend-build` do Dockerfile da
aplicacao e, portanto, nao fazem parte desta imagem.
## Build
Execute a partir da raiz de `application`:
```sh
docker build \
-f docker/base-image/Dockerfile \
-t tirkm/v2-application:7 \
.
```
Depois, valide a aplicacao com a nova base sem editar o Dockerfile principal:
```sh
docker build \
--build-arg BASE_IMAGE=tirkm/v2-application:7 \
-t conectasus:base-7 \
.
```
## O que foi removido
- `vim`, `lsof`, `git`, `wget`, `zip` e `unzip`;
- Node.js e npm, que ja existem apenas no stage de build do frontend;
- caches e indices do APT;
- `curl` e `xz-utils`, usados temporariamente para instalar o wkhtmltopdf.
O Composer e copiado da imagem oficial em vez de executar um instalador remoto
sem verificacao. O pacote do wkhtmltopdf tem o SHA-256 validado antes da
instalacao.
> PHP 7.4, Ubuntu 20.04 e wkhtmltopdf 0.12.6 estao fora de suporte. Esta imagem
> reduz o tamanho e a superficie instalada, mas nao elimina esse risco. A
> atualizacao de runtime deve ser tratada em uma etapa separada, com testes da
> aplicacao.