Skip to content
Snippets Groups Projects
docker-compose.armhf.yml 6.34 KiB
version: "3.3"
services:
    gateway:
        ports:
            - 8080:8080
        image: openfaas/gateway:0.12.0-armhf
        networks:
            - functions
        environment:
            functions_provider_url: "http://faas-swarm:8080/"
            read_timeout: "5m5s" # Maximum time to read HTTP request
            write_timeout: "5m5s" # Maximum time to write HTTP response
            upstream_timeout: "5m" # Maximum duration of upstream function call - should be more than read_timeout and write_timeout
            dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD
            faas_nats_address: "nats"
            faas_nats_port: 4222
            direct_functions: "true" # Functions are invoked directly over the overlay network
            direct_functions_suffix: ""
            basic_auth: "${BASIC_AUTH:-true}"
            secret_mount_path: "/run/secrets/"
            scale_from_zero: "true" # Enable if you want functions to scale from 0/0 to min replica count upon invoke
            max_idle_conns: 1024
            max_idle_conns_per_host: 1024
        deploy:
            resources:
                # limits:   # Enable if you want to limit memory usage
                #     memory: 200M
                reservations:
                    memory: 100M
            restart_policy:
                condition: on-failure
                delay: 5s
                max_attempts: 20
                window: 380s
            placement:
                constraints:
                    - "node.platform.os == linux"
        secrets:
            - basic-auth-user
            - basic-auth-password

    # Docker Swarm provider
    faas-swarm:
        volumes:
            - "/var/run/docker.sock:/var/run/docker.sock"
        image:  openfaas/faas-swarm:0.6.2-armhf
        networks:
            - functions
        environment:
            read_timeout:  "5m5s"       # set both here, and on your functions
            write_timeout: "5m5s"       # set both here, and on your functions
            DOCKER_API_VERSION: "1.30"
            basic_auth: "${BASIC_AUTH:-true}"
            secret_mount_path: "/run/secrets/"
        deploy:
            placement:
                constraints:
                    - 'node.role == manager'
                    - 'node.platform.os == linux'
            resources:
                # limits:   # Enable if you want to limit memory usage
                #     memory: 100M
                reservations:
                    memory: 100M
            restart_policy:
                condition: on-failure
                delay: 5s
                max_attempts: 20
                window: 380s
        secrets: