version: '3.8'

services:

  fansifter-postgres:
    image: postgres:11.13
    restart: always
    ports:
      - '${POSTGRES_PORT:-5432}:${POSTGRES_CONTAINER_PORT:-5432}'
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=fansifter
    command: "-p ${POSTGRES_CONTAINER_PORT:-5432}"

  fansifter-redis:
    image: redis:alpine
    restart: always
    ports:
      - '6379:6379'

  ows-campaigns:
    build:
      context: .
      target: dev
    ports:
      - '5001:8080'
    depends_on:
      - fansifter-postgres
      - fansifter-redis
    environment:
      APP_DEBUG: 'true'
      PORT: 8080
      Environment: dev
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_HOST: fansifter-postgres
      POSTGRES_PORT: 5432
      POSTGRES_NAME: fansifter
    volumes:
      - .:/var/app

  lint-and-test:
    build:
      context: .
      target: lint-and-test
    user: 1102:1102
    depends_on:
      - fansifter-postgres
    environment:
      RUN_WITH_LINT_AND_TEST: 'true'
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_HOST: fansifter-postgres
      POSTGRES_PORT: ${POSTGRES_CONTAINER_PORT:-5432}
    volumes:
      - .:/var/app
