version: '3.9'

services:
  niki-core:
    build:
      context: .
      target: development
    image: niki-core
    container_name: niki-core
    networks:
      - core
    restart: always
    ports:
      - "1313:1313"
    links:
      - "niki-mariadb"
    depends_on:
      - "niki-mariadb"
      - "niki-redis"

  niki-mariadb:
    image: docker.io/bitnami/mariadb:11.1
    container_name: niki-mariadb
    restart: always
    ports:
      - '127.0.0.1:3306:3306'
    networks:
      - core
    volumes:
      - 'niki-mariadb-data:/bitnami/mariadb'
    environment:
      MARIADB_USER: niki
      MARIADB_PASSWORD: ${NIKI_STAGE_MARIADB_UR_PASSWORD}
      MARIADB_DATABASE: niki_db
      MARIADB_ROOT_PASSWORD: ${NIKI_STAGE_MARIADB_RT_PASSWORD}
      ALLOW_EMPTY_PASSWORD: no

  niki-redis:
    image: bitnami/redis:6.2
    container_name: niki-redis
    restart: always
    ports:
      - '6380:6379'
    # TODO - remove `--save "" --appendonly no` from command to persist data
    command: redis-server --loglevel warning --protected-mode no --save "" --appendonly no
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    networks:
      - core
    volumes:
      - niki-redis-data:/data


volumes:
  niki-mariadb-data:
  niki-redis-data:

networks:
  core:
    driver: "bridge"