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-mysql"
    depends_on:
      - "niki-mysql"
      - "niki-redis"



  niki-mysql:
    image: mysql:8.0
    ports:
      - "3306:3306"
    container_name: niki-database
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - core
    restart: always
    command: [ 'mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci' ]
    environment:
      MYSQL_ROOT_PASSWORD: nikiRoo7t0lk2o20
      MYSQL_DATABASE: niki_db
      MYSQL_USER: niki
      MYSQL_PASSWORD: nikiappt0lk2o20

  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:
  dbdata:
  niki-redis-data:

networks:
  core:
    driver: "bridge"