# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#

# FOR TESTING PURPOSES ONLY! NOT SUITABLE FOR PRODUCTION USAGE!
services:
  fineract:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    environment:
      FINERACT_SECURITY_BASICAUTH_ENABLED: "true"
      FINERACT_SECURITY_OAUTH_ENABLED: "false"
      FINERACT_SECURITY_2FA_ENABLED: "true"
# FOR TESTING PURPOSES ONLY! NOT SUITABLE FOR PRODUCTION USAGE!
