variables:
  main_domain: ${domain}
  dex_domain: ${domain}
  secret_key: ${base64:32}
  utils_secret: ${base64:32}
  client_secret: ${base64:32}
  postgres_password: ${password}

config:
  domains:
    - serviceName: outline
      port: 3000
      host: ${main_domain}
    - serviceName: dex
      port: 5556
      host: ${dex_domain}

  env:
    URL: http://${main_domain}
    DEX_URL: http://${dex_domain}
    DOMAIN_NAME: ${main_domain}
    POSTGRES_PASSWORD: ${postgres_password}
    SECRET_KEY: ${secret_key}
    UTILS_SECRET: ${utils_secret}
    CLIENT_SECRET: ${client_secret}

  mounts:
    - filePath: /etc/dex/config.yaml
      content: |
        issuer: http://${dex_domain}

        web:
          http: 0.0.0.0:5556

        storage:
          type: memory

        enablePasswordDB: true

        frontend:
           issuer: Outline

        logger:
          level: debug

        staticPasswords:
          - email: "admin@example.com"
            # bcrypt hash of the string "password": $(echo password | htpasswd -BinC 10 admin | cut -d: -f2)
            hash: "$2y$10$jsRWHw54uxTUIfhjgUrB9u8HSzPk7TUuQri9sXZrKzRXcScvwYor."
            username: "admin"
            userID: "1"


        oauth2:
          skipApprovalScreen: true
          alwaysShowLoginScreen: false
          passwordConnector: local

        staticClients:
          - id: "outline"
            redirectURIs:
              - http://${main_domain}/auth/oidc.callback
            name: "Outline"
            secret: "${client_secret}" 