Executando verificação de segurança...
1

Pedro, no repositório do TabNews usamos Postgres com Docker Compose. O repositório ainda está no modo privado, mas caso queira o convite, acesse esse link.

Em paralelo, nosso docker-compose.development.yml possui o conteúdo abaixo e levanta dois serviços, o PostgresSQL de desenvolvimento (que puxa variáveis de ambiente do arquivo .env e um serviço de email utilizando o MailCatcher (que não tem nada a ver com sua dúvida).

version: '2.4'
services:
  postgres_dev:
    container_name: 'postgres-dev'
    image: 'postgres:14.1-alpine'
    env_file:
      - ../.env
    ports:
      - '54320:5432'
    volumes:
      - postgres_data:/data/postgres
    restart: unless-stopped
  mailcatcher:
    container_name: mailcatcher
    image: sj26/mailcatcher
    expose:
      - 1025
      - 1080
    ports:
      - 1025:1025
      - 1080:1080
volumes:
  postgres_data:

E o arquivo .env define várias variáveis de ambiente, principalmente as que o Container Docker do PostgresSQL utiliza (são as que começam por POSTGRES_):

POSTGRES_USER=local_user
POSTGRES_PASSWORD=local_password
POSTGRES_DB=tabnews
POSTGRES_HOST=localhost
POSTGRES_PORT=54320
DATABASE_URL=postgres://local_user:local_password@localhost:54320/tabnews
WEBSERVER_HOST=localhost
WEBSERVER_PORT=3000
EMAIL_SMTP_HOST=localhost
EMAIL_SMTP_PORT=1025
EMAIL_HTTP_HOST=localhost
EMAIL_HTTP_PORT=1080
EMAIL_USER=
EMAIL_PASSWORD=

E para rodar, utilizamos esse comando:

docker-compose -f infra/docker-compose.development.yml up -d

A flag -f define o endereço customizado do arquivo .yml e a flag -d roda o serviço em modo detached (sem prender a linha de comando).

Carregando publicação patrocinada...