version: '3'

services:

  db:
    image: postgres:14-alpine
    volumes: 
      - db_data: /var/lib/postgresql/data
    ports:
      - "5432:5432"
    networks:
      - js7
    environment:
      POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=en_US.UTF-8"
      POSTGRES_USER: js7user
      POSTGRES_PASSWORD: js7password
      POSTGRES_DB: js7db
    restart: "no"

  js7-joc-primary:
    depends_on:
      - db
    container_name: js7-joc-primary
    image: sosberlin/js7:joc-${JS7VERSION}
    hostname: js7-joc-primary
    ports:
      - "17446:4446"
    networks:
      - js7
    volumes:
      - js7-joc-primary-config:/var/sos-berlin.com/js7/joc/resources/joc
      - js7-joc-primary-logs:/var/sos-berlin.com/js7/joc/logs
    environment:
      RUN_JS_JAVA_OPTIONS: -Xmx256m
      RUN_JS_USER_ID: "${JS7USERID}:${JS7GROUPID}"
    restart: "no"

networks:
  js7:
    external: true

volumes:

  db_data:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/db_data
      o: bind

  js7-joc-primary-config:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/js7-joc-primary-config
      o: bind

  js7-joc-primary-logs:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/js7-joc-primary-logs
      o: bind