Pular para conteúdo

🐋 Instalação com Docker Compose

O Docker Compose é a forma mais simples de subir o ecossistema completo do e-SUS AF em um único servidor.


1. Exemplo de Arquivo docker-compose.yml

Abaixo um exemplo utilizando as imagens da nossa registry oficial e configurando a persistência de chaves e dados.

version: '3.8'

services:
  web:
    container_name: esusaf-web
    image: gitlab.inova-af.dev.br:5050/inova-af/esus-af/e-susaf-web:v1.2.5
    ports:
      - "80:80"
    environment:
      - VITE_APP_API_URL=http://localhost:3001
      - VITE_AMBIENTE_ESUS=dv
    depends_on:
      - api

  api:
    container_name: esusaf-api
    image: gitlab.inova-af.dev.br:5050/inova-af/esus-af/e-susaf-api:v1.2.5
    ports:
      - "3001:3001"
    env_file:
      - .env
    volumes:
      - ./chaves:/app/chaves  # Compartilhamento de chaves para réplicas
    depends_on:
      - db
      - redis

  db:
    container_name: esusaf-db
    image: postgres:16-alpine
    environment:
      - POSTGRES_DB=esusaf
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=suasenha
    volumes:
      - esusaf_pg_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  redis:
    container_name: esusaf-redis
    image: redis:7-alpine
    volumes:
      - esusaf_redis_data:/data

volumes:
  esusaf_pg_data:
  esusaf_redis_data:

2. Passos para o Deploy

  1. Prepare os arquivos: Certifique-se de ter o docker-compose.yml e o arquivo .env (conforme Preparação do Ambiente) na mesma pasta.
  2. Gere as chaves: Crie a pasta chaves e gere os arquivos .pem conforme a instrução de criptografia.
  3. Suba os serviços:
    docker-compose up -d
    
  4. Carga Inicial: Siga as instruções de Carga de Banco de Dados para inicializar o esquema.