version: '3.8'

services:
    app:
        build:
            context: ..
            dockerfile: docker/app.Dockerfile
            args:
                # Update 'VARIANT' to pick a version of Python: 3, 3.10, 3.9, 3.8, 3.7, 3.6
                # Append -bullseye or -buster to pin to an OS version.
                # Use -bullseye variants on local arm64/Apple Silicon.
                VARIANT: 3.6-bullseye
                NODE_VERSION: '16'
                
        volumes:
            - ..:/root/src:cached  
        init: true
        
        # Overrides default command so things don't shut down after the process ends.
        command: sleep infinity
        
        # Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
        # network_mode: service:db

        depends_on:
            - db

        # environment:
            # USER: django
            # UID: 1001
            # GID: 1001
            # DATADIR: data
            # DJANGO_SETTINGS_MODULE: settings_sqlitetest
        
        # Uncomment the next line to use a non-root user for all processes.
        # user: vscode
        
        # Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
        # (Adding the "ports" property to this file will not forward from a Codespace.)
                
    db:
        build:
            context: ..
            dockerfile: docker/db.Dockerfile
        restart: unless-stopped
        volumes:
            - mariadb-data:/var/lib/mysql
        environment:
            MYSQL_ROOT_PASSWORD: ietf
            MYSQL_DATABASE: ietf_utf8
            MYSQL_USER: django
            MYSQL_PASSWORD: RkTkDPFnKpko
        command:
            - '--character-set-server=utf8'
            - '--collation-server=utf8_unicode_ci'
            - '--innodb-buffer-pool-size=1G'
            - '--innodb-log-buffer-size=128M'
            - '--innodb-log-file-size=256M'
            - '--innodb-write-io-threads=8'
            - '--innodb-flush-log-at-trx-commit=0'
            - '--performance-schema=1'
            
    # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally.
    # (Adding the "ports" property to this file will not forward from a Codespace.)

volumes:
    mariadb-data: