version: '2.1'

services:

    redis:
        image: redis:5.0.5

    postgres:
        image: postgres:9.6
        environment:
            - POSTGRES_USER=royalties
            - POSTGRES_PASSWORD=
            - POSTGRES_DB=ows_royalties
        ports:
            - "5432:5432"

    royalties:
        image: royalties/royalties:latest
        depends_on:
            - postgres
        environment:
            - Environment=dev
            - PG_DB_HOST=postgres
            - PG_DB_USER=royalties
            - PG_DB_PASS=
            - PG_DB_NAME=ows_royalties
            - MIGRATE_ON_STARTUP=y
        ports:
            - "8081:8080"

    grass:
        image: royalties/grass:latest
        depends_on:
            - redis
        environment:
            - Environment=dev
            - LOGGER_DSN=
            - LOGGER_HANDLER_ASYNC=0
            - SESSION_DURATION=60000
            - DB_URL=mysql+pymysql://mkhan:${QA_MYSQL_PASSWORD}@qa.db.qaorch.com:3306/art_relations
            - DB_POOL_PRE_PING=y
            - REDIS_HOST=redis
            - REDIS_PORT=6379
            - SENTRY_DSN=
            - STATSD_PREFIX=
            - STATSD_CLIENT=
            - STATSD_PORT=
            - AUTH0_DOMAIN=qa-orchard.auth0.com
            - AUTH0_API_AUDIENCE=https://workstation.qaorch.com/api
            - PYTHONASYNCIODEBUG=1
        volumes:
            - ./service_overrides/:/var/app/service_overrides
        ports:
            - "8082:8080"

    frontend:
        image: royalties/frontend:latest
        user: "node"
        environment:
            - NODE_ENV=production
            - API_URL=grass:8080
            - WEBPACK_DEV_SERVER_HOST=0.0.0.0
            - WEBPACK_DEV_SERVER_PORT=8080
            - OA_USER_ID
            - VAPI_TOKEN
            - USER_FEATURES={"example_feature":"enabled"}
            - USER_RESTRICTIONS={"example_restriction":true}
            - MINIFY=0
        ports:
            - "8080:8080"
        command: "yarn start:royalties"
