Frontend Service Configuration

Introduction

The frontend service translates various ownCloud-related HTTP APIs to CS3 requests.

Default Values

  • Frontend listens on port 9140 by default.

Endpoints Overview

Currently, the frontend service handles requests for three functionalities, which are

appprovider

The appprovider endpoint, by default /app, forwards HTTP requests to the CS3 App Registry API.

archiver

The archiver endpoint, by default /archiver, implements zip and tar download for collections of files. It will internally use the CS3 API to initiate downloads and then stream the individual files as part of a compressed file.

datagateway

The datagateway endpoint, by default /data, forwards file up- and download requests to the correct CS3 data provider. OCIS starts a dataprovider as part of the storage-* services. The routing happens based on the JWT that was created by a storage provider in response to an InitiateFileDownload or InitiateFileUpload request.

ocs

The ocs endpoint, by default /ocs, implements the ownCloud 10 Open Collaboration Services API by translating it into CS3 API requests. It can handle users, groups, capabilities and also implements the file sharing functionality on top of CS3. The /ocs/v[12].php/cloud/user/signing-key is currently handled by the dedicated ocs service.

Event Handler

The frontend service contains an eventhandler for handling ocs related events. For details see the developer documentation.

Auto-Accept Shares

When setting the FRONTEND_AUTO_ACCEPT_SHARES to true, all incoming shares will be accepted automatically. Users can overwrite this setting individually in their profile.

Passwords

The Password Policy

Note that the password policy currently impacts only public link password validation.

With the password policy, mandatory criteria for the password can be defined via the environment variables listed below.

Generally, a password can contain any UTF-8 characters, however some characters are regarded as special since they are not used in ordinary texts. Which characters should be treated as special is defined by "The OWASP® Foundation" password-special-characters (between double quotes): " !"#$%&'()*+,-./:;<⇒?@[\]^_`{|}~"

The validation against the banned passwords list can be configured via a text file with words separated by new lines. If a user tries to set a password listed in the banned passwords list, the password can not be used (is invalid) even if the other mandatory criteria are passed. The admin can define the path of the banned passwords list file. If the file doesn’t exist in a location, Infinite Scale tries to load a file from the OCIS_CONFIG_DIR/OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST. An option will be enabled when the file has been loaded successfully.

The following environment variables can be set to define the password policy behavior:

  • OCIS_PASSWORD_POLICY_DISABLED
    Disable the password policy.

  • OCIS_PASSWORD_POLICY_MIN_CHARACTERS
    Define the minimum password length.

  • OCIS_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS
    Define the minimum number of uppercase letters.

  • OCIS_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS
    Define the minimum number of lowercase letters.

  • OCIS_PASSWORD_POLICY_MIN_DIGITS
    Define the minimum number of digits.

  • OCIS_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS
    Define the minimum number of special characters.

  • OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST
    Path to the 'banned passwords list' file.

A password can have a maximum length of 72 bytes. Depending on the alphabet used, a character is encoded by 1 to 4 bytes, defining the maximum length of a password indirectly. While US-ASCII will only need one byte, Latin alphabets and also Greek or Cyrillic ones need two bytes. Three bytes are needed for characters in Chinese, Japanese and Korean etc.

For public accessible shares, independent if read only or writable, a password is enforced. To change this requirement, set the following environment variable to false:

OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD

For public accessible writable shares, a password can be enforced. To change the current setting, set the following environment variable to true:

OCIS_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD

Changing this environment variable only makes sense if the OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD environment variable is set to false.

Sharing

Aggregating share information is one of the most time consuming operations in OCIS. The service fetches a list of either received or created shares and has to stat every resource individually. While stats are fast, the default behavior scales linearly with the number of shares.

To save network trips the sharing implementation can cache the stat requests with an in memory cache or in redis. It will shorten the response time by the network round-trip overhead at the cost of the API only eventually being updated.

Setting FRONTEND_OCS_RESOURCE_INFO_CACHE_TTL=60 would cache the stat info for 60 seconds. Increasing this value makes sense for large deployments with thousands of active users that keep the cache up to date. Low frequency usage scenarios should not expect a noticeable improvement.

Scalability

While the frontend service does not persist any data, it does cache information about files and filesystem (Stat()) responses and user information. Therefore, multiple instances of this service can be spawned in a bigger deployment like when using container orchestration with Kubernetes, when configuring FRONTEND_OCS_RESOURCE_INFO_CACHE_STORE and the related config options.

Define Read-Only Attributes

A lot of user management is done via the standardized LibreGraph API. Depending on how the system is configured, there might be some user attributes that an Infinite Scale instance admin can’t change because of properties coming from an external LDAP server, or similar. This can be the case when the Infinite Scale admin is not the LDAP admin. To make life easier for admins, read-only attributes can be displayed differently, e.g. grayed out. To configure these hints for the frontend, use the environment variable FRONTEND_READONLY_USER_ATTRIBUTES, which takes a comma separated list of attributes. See the environment variable for supported values.

Event Bus Configuration

The Infinite Scale event bus can be configured by a set of environment variables.

  • If you are using a binary installation as described in Binary Setup or Bare Metal with systemd, the address of the event bus OCIS_EVENTS_ENDPOINT is predefined as localhost address without the need for further configuration, but changable on demand.

  • In case of an orchestrated installation like with Docker or Kubernetes, the event bus must be an external service for scalability like a Redis Sentinel cluster or a key-value-store NATS JetStream. Both named stores are supported and also used in Caching and Persistence. The store used is not part of the Infinite Scale installation and must be separately provided and configured.

  • Note that from a configuration point of view, caching and persistence are independent of the event bus configuration.

Note that for each global environment variable, a service-based one might be available additionally. For precedences see Environment Variable Notes. Check the configuration section below.

Without the aim of completeness, see the list of environment variables to configure the event bus:

Envvar Description

OCIS_EVENTS_ENDPOINT

The address of the event system.

OCIS_EVENTS_CLUSTER

The clusterID of the event system. Mandatory when using NATS as event system.

OCIS_EVENTS_ENABLE_TLS

Enable TLS for the connection to the events broker.

OCIS_INSECURE

Whether to verify the server TLS certificates.

OCIS_EVENTS_AUTH_USERNAME

The username to authenticate with the events broker.

OCIS_EVENTS_AUTH_PASSWORD

The password to authenticate with the events broker.

Caching

The frontend service can use a configured store via the global OCIS_CACHE_STORE environment variable.

Note that for each global environment variable, a service-based one might be available additionally. For precedences see Environment Variable Notes. Check the configuration section below. Supported stores are:

Store Type Description

memory

Basic in-memory store and the default.

redis-sentinel

Stores data in a configured Redis Sentinel cluster.

nats-js-kv

Stores data using key-value-store feature of NATS JetStream.

noop

Stores nothing. Useful for testing. Not recommended in production environments.

ocmem

(deprecated) Advanced in-memory store allowing max size.

redis

(deprecated) Stores data in a configured Redis cluster.

etcd

(deprecated) Stores data in a configured etcd cluster.

nats-js

(deprecated) Stores data using the key-value-store feature of NATS JetStream.

Other store types may work but are currently not supported.

The frontend service can only be scaled if not using the memory store and the stores are configured identically over all instances!
If you have used one of the deprecated stores of a former version, you should reconfigure to use one of the supported ones as the deprecated stores will be removed in a later version.
Store specific notes
  • When using redis-sentinel:
    The Redis master to use is configured via e.g. OCIS_CACHE_STORE_NODES in the form of <sentinel-host>:<sentinel-port>/<redis-master> like 10.10.0.200:26379/mymaster.

  • When using nats-js-kv:

    • It is recommended to set OCIS_CACHE_STORE_NODES to the same value as OCIS_EVENTS_ENDPOINT. That way the cache uses the same nats instance as the event bus.

    • Authentication can be added, if configured, via OCIS_CACHE_AUTH_USERNAME and OCIS_CACHE_AUTH_PASSWORD.

    • It is possible to set OCIS_CACHE_DISABLE_PERSISTENCE to instruct nats to not persist cache data on disc.

Configuration

Environment Variables

The frontend service is configured via the following environment variables. Read the Environment Variable Types documentation for important details.

  • master

Environment variables for the frontend service
Name Type Default Value Description

OCIS_TRACING_ENABLED
FRONTEND_TRACING_ENABLED

bool

false

Activates tracing.

OCIS_TRACING_TYPE
FRONTEND_TRACING_TYPE

string

The type of tracing. Defaults to '', which is the same as 'jaeger'. Allowed tracing types are 'jaeger' and '' as of now.

OCIS_TRACING_ENDPOINT
FRONTEND_TRACING_ENDPOINT

string

The endpoint of the tracing agent.

OCIS_TRACING_COLLECTOR
FRONTEND_TRACING_COLLECTOR

string

The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. Only used if the tracing endpoint is unset.

OCIS_LOG_LEVEL
FRONTEND_LOG_LEVEL

string

The log level. Valid values are: 'panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace'.

OCIS_LOG_PRETTY
FRONTEND_LOG_PRETTY

bool

false

Activates pretty log output.

OCIS_LOG_COLOR
FRONTEND_LOG_COLOR

bool

false

Activates colorized log output.

OCIS_LOG_FILE
FRONTEND_LOG_FILE

string

The path to the log file. Activates logging to this file if set.

FRONTEND_DEBUG_ADDR

string

127.0.0.1:9141

Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed.

FRONTEND_DEBUG_TOKEN

string

Token to secure the metrics endpoint.

FRONTEND_DEBUG_PPROF

bool

false

Enables pprof, which can be used for profiling.

FRONTEND_DEBUG_ZPAGES

bool

false

Enables zpages, which can be used for collecting and viewing in-memory traces.

FRONTEND_HTTP_ADDR

string

127.0.0.1:9140

The bind address of the HTTP service.

FRONTEND_HTTP_PROTOCOL

string

tcp

The transport protocol of the HTTP service.

FRONTEND_HTTP_PREFIX

string

The Path prefix where the frontend can be accessed (defaults to /).

OCIS_CORS_ALLOW_ORIGINS
FRONTEND_CORS_ALLOW_ORIGINS

[]string

[https://localhost:9200]

A list of allowed CORS origins. See following chapter for more details: Access-Control-Allow-Origin at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin. See the Environment Variable Types description for more details.

OCIS_CORS_ALLOW_METHODS
FRONTEND_CORS_ALLOW_METHODS

[]string

[OPTIONS HEAD GET PUT POST PATCH DELETE MKCOL PROPFIND PROPPATCH MOVE COPY REPORT SEARCH]

A list of allowed CORS methods. See following chapter for more details: Access-Control-Request-Method at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Method. See the Environment Variable Types description for more details.

OCIS_CORS_ALLOW_HEADERS
FRONTEND_CORS_ALLOW_HEADERS

[]string

[Origin Accept Content-Type Depth Authorization Ocs-Apirequest If-None-Match If-Match Destination Overwrite X-Request-Id X-Requested-With Tus-Resumable Tus-Checksum-Algorithm Upload-Concat Upload-Length Upload-Metadata Upload-Defer-Length Upload-Expires Upload-Checksum Upload-Offset X-HTTP-Method-Override Cache-Control]

A list of allowed CORS headers. See following chapter for more details: Access-Control-Request-Headers at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Headers. See the Environment Variable Types description for more details.

OCIS_CORS_ALLOW_CREDENTIALS
FRONTEND_CORS_ALLOW_CREDENTIALS

bool

false

Allow credentials for CORS.See following chapter for more details: Access-Control-Allow-Credentials at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials.

OCIS_TRANSFER_SECRET

string

Transfer secret for signing file up- and download requests.

OCIS_JWT_SECRET
FRONTEND_JWT_SECRET

string

The secret to mint and validate jwt tokens.

OCIS_REVA_GATEWAY

string

com.owncloud.api.gateway

The CS3 gateway endpoint.

OCIS_GRPC_CLIENT_TLS_MODE

string

TLS mode for grpc connection to the go-micro based grpc services. Possible values are 'off', 'insecure' and 'on'. 'off': disables transport security for the clients. 'insecure' allows using transport security, but disables certificate verification (to be used with the autogenerated self-signed certificates). 'on' enables transport security, including server certificate verification.

OCIS_GRPC_CLIENT_TLS_CACERT

string

Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the go-micro based grpc services.

OCIS_MACHINE_AUTH_API_KEY
FRONTEND_MACHINE_AUTH_API_KEY

string

The machine auth API key used to validate internal requests necessary to access resources from other services.

FRONTEND_SKIP_USER_GROUPS_IN_TOKEN

bool

false

Disables the loading of user’s group memberships from the reva access token.

FRONTEND_ENABLE_FAVORITES

bool

false

Enables the support for favorites in the clients.

OCIS_SPACES_MAX_QUOTA
FRONTEND_MAX_QUOTA

uint64

0

Set the global max quota value in bytes. A value of 0 equals unlimited. The value is provided via capabilities.

FRONTEND_UPLOAD_MAX_CHUNK_SIZE

int

10000000

Sets the max chunk sizes in bytes for uploads via the clients.

FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE

string

Advise TUS to replace PATCH requests by POST requests.

FRONTEND_DEFAULT_UPLOAD_PROTOCOL

string

tus

The default upload protocol to use in clients. Currently only 'tus' is available. See the developer API documentation for more details about TUS.

FRONTEND_ENABLE_FEDERATED_SHARING_INCOMING

bool

false

Changing this value is NOT supported. Enables support for incoming federated sharing for clients. The backend behaviour is not changed.

FRONTEND_ENABLE_FEDERATED_SHARING_OUTGOING

bool

false

Changing this value is NOT supported. Enables support for outgoing federated sharing for clients. The backend behaviour is not changed.

FRONTEND_SEARCH_MIN_LENGTH

int

3

Minimum number of characters to enter before a client should start a search for Share receivers. This setting can be used to customize the user experience if e.g too many results are displayed.

OCIS_EDITION
FRONTEND_EDITION

string

Community

Edition of oCIS. Used for branding purposes.

OCIS_DISABLE_SSE
FRONTEND_DISABLE_SSE

bool

false

When set to true, clients are informed that the Server-Sent Events endpoint is not accessible.

FRONTEND_DEFAULT_LINK_PERMISSIONS

int

1

Defines the default permissions a link is being created with. Possible values are 0 (= internal link, for instance members only) and 1 (= public link with viewer permissions). Defaults to 1.

OCIS_URL
FRONTEND_PUBLIC_URL

string

https://localhost:9200

The public facing URL of the oCIS frontend.

OCIS_INSECURE
FRONTEND_APP_HANDLER_INSECURE

bool

false

Allow insecure connections to the frontend.

FRONTEND_ARCHIVER_MAX_NUM_FILES

int64

10000

Max number of files that can be packed into an archive.

FRONTEND_ARCHIVER_MAX_SIZE

int64

1073741824

Max size in bytes of the zip archive the archiver can create.

OCIS_INSECURE
FRONTEND_ARCHIVER_INSECURE

bool

false

Allow insecure connections to the archiver.

FRONTEND_DATA_GATEWAY_PREFIX

string

data

Path prefix for the data gateway.

FRONTEND_OCS_PREFIX

string

ocs

URL path prefix for the OCS service. Note that the string must not start with '/'.

FRONTEND_OCS_SHARE_PREFIX

string

/Shares

Path prefix for shares as part of an ocis resource. Note that the path must start with '/'.

FRONTEND_OCS_PERSONAL_NAMESPACE

string

/users/{{.Id.OpaqueId}}

Home namespace identifier.

FRONTEND_OCS_ADDITIONAL_INFO_ATTRIBUTE

string

{{.Mail}}

Additional information attribute for the user like {{.Mail}}.

OCIS_CACHE_STORE
FRONTEND_OCS_STAT_CACHE_STORE

string

memory

The type of the cache store. Supported values are: 'memory', 'redis-sentinel', 'nats-js-kv', 'noop'. See the text description for details.

OCIS_CACHE_STORE_NODES
FRONTEND_OCS_STAT_CACHE_STORE_NODES

[]string

[127.0.0.1:9233]

A list of nodes to access the configured store. This has no effect when 'memory' or 'ocmem' stores are configured. Note that the behaviour how nodes are used is dependent on the library of the configured store. See the Environment Variable Types description for more details.

OCIS_CACHE_DATABASE

string

cache-stat

The database name the configured store should use.

FRONTEND_OCS_STAT_CACHE_TABLE

string

The database table the store should use.

OCIS_CACHE_TTL
FRONTEND_OCS_STAT_CACHE_TTL

Duration

5m0s

Default time to live for user info in the cache. Only applied when access tokens has no expiration. See the Environment Variable Types description for more details.

OCIS_CACHE_SIZE
FRONTEND_OCS_STAT_CACHE_SIZE

int

0

Max number of entries to hold in the cache.

OCIS_CACHE_DISABLE_PERSISTENCE
FRONTEND_OCS_STAT_CACHE_DISABLE_PERSISTENCE

bool

false

Disable persistence of the cache. Only applies when using the 'nats-js-kv' store type. Defaults to false.

OCIS_CACHE_AUTH_USERNAME
FRONTEND_OCS_STAT_CACHE_AUTH_USERNAME

string

The username to use for authentication. Only applies when using the 'nats-js-kv' store type.

OCIS_CACHE_AUTH_PASSWORD
FRONTEND_OCS_STAT_CACHE_AUTH_PASSWORD

string

The password to use for authentication. Only applies when using the 'nats-js-kv' store type.

FRONTEND_OCS_ENABLE_DENIALS

bool

false

EXPERIMENTAL: enable the feature to deny access on folders.

FRONTEND_OCS_LIST_OCM_SHARES

bool

true

Include OCM shares when listing shares. See the OCM service documentation for more details.

OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD
FRONTEND_OCS_PUBLIC_SHARE_MUST_HAVE_PASSWORD

bool

true

Set this to true if you want to enforce passwords on all public shares.

OCIS_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD
FRONTEND_OCS_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD

bool

false

Set this to true if you want to enforce passwords for writable shares. Only effective if the setting for 'passwords on all public shares' is set to false.

FRONTEND_OCS_INCLUDE_OCM_SHAREES

bool

false

Include OCM sharees when listing sharees.

OCIS_SHOW_USER_EMAIL_IN_RESULTS

bool

false

Mask user email addresses in responses.

FRONTEND_CHECKSUMS_SUPPORTED_TYPES

[]string

[sha1 md5 adler32]

A list of checksum types that indicate to clients which hashes the server can use to verify upload integrity. Supported types are 'sha1', 'md5' and 'adler32'. See the Environment Variable Types description for more details.

FRONTEND_CHECKSUMS_PREFERRED_UPLOAD_TYPE

string

sha1

The supported checksum type for uploads that indicates to clients supporting multiple hash algorithms which one is preferred by the server. Must be one out of the defined list of SUPPORTED_TYPES.

FRONTEND_READONLY_USER_ATTRIBUTES

[]string

[]

A list of user attributes to indicate as read-only. Supported values: 'user.onPremisesSamAccountName' (username), 'user.displayName', 'user.mail', 'user.passwordProfile' (password), 'user.appRoleAssignments' (role), 'user.memberOf' (groups), 'user.accountEnabled' (login allowed), 'drive.quota' (quota). See the Environment Variable Types description for more details.

OCIS_LDAP_SERVER_WRITE_ENABLED
FRONTEND_LDAP_SERVER_WRITE_ENABLED

bool

true

Allow creating, modifying and deleting LDAP users via the GRAPH API. This can only be set to 'true' when keeping default settings for the LDAP user and group attribute types (the 'OCIS_LDAP_USER_SCHEMA_* and 'OCIS_LDAP_GROUP_SCHEMA_* variables).

FRONTEND_FULL_TEXT_SEARCH_ENABLED

bool

false

Set to true to signal the web client that full-text search is enabled.

OCIS_EVENTS_ENDPOINT
FRONTEND_EVENTS_ENDPOINT

string

127.0.0.1:9233

The address of the event system. The event system is the message queuing service. It is used as message broker for the microservice architecture.

OCIS_EVENTS_CLUSTER
FRONTEND_EVENTS_CLUSTER

string

ocis-cluster

The clusterID of the event system. The event system is the message queuing service. It is used as message broker for the microservice architecture. Mandatory when using NATS as event system.

OCIS_INSECURE
FRONTEND_EVENTS_TLS_INSECURE

bool

false

Whether to verify the server TLS certificates.

FRONTEND_EVENTS_TLS_ROOT_CA_CERTIFICATE
OCS_EVENTS_TLS_ROOT_CA_CERTIFICATE

string

The root CA certificate used to validate the server’s TLS certificate. If provided NOTIFICATIONS_EVENTS_TLS_INSECURE will be seen as false.

OCIS_EVENTS_ENABLE_TLS
FRONTEND_EVENTS_ENABLE_TLS

bool

false

Enable TLS for the connection to the events broker. The events broker is the ocis service which receives and delivers events between the services.

OCIS_EVENTS_AUTH_USERNAME
FRONTEND_EVENTS_AUTH_USERNAME

string

The username to authenticate with the events broker. The events broker is the ocis service which receives and delivers events between the services.

OCIS_EVENTS_AUTH_PASSWORD
FRONTEND_EVENTS_AUTH_PASSWORD

string

The password to authenticate with the events broker. The events broker is the ocis service which receives and delivers events between the services.

FRONTEND_AUTO_ACCEPT_SHARES

bool

true

Defines if shares should be auto accepted by default. Users can change this setting individually in their profile.

OCIS_SERVICE_ACCOUNT_ID
FRONTEND_SERVICE_ACCOUNT_ID

string

The ID of the service account the service should use. See the 'auth-service' service description for more details.

OCIS_SERVICE_ACCOUNT_SECRET
FRONTEND_SERVICE_ACCOUNT_SECRET

string

The service account secret.

OCIS_PASSWORD_POLICY_DISABLED
FRONTEND_PASSWORD_POLICY_DISABLED

bool

false

Disable the password policy. Defaults to false if not set.

OCIS_PASSWORD_POLICY_MIN_CHARACTERS
FRONTEND_PASSWORD_POLICY_MIN_CHARACTERS

int

8

Define the minimum password length. Defaults to 8 if not set.

OCIS_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS
FRONTEND_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS

int

1

Define the minimum number of uppercase letters. Defaults to 1 if not set.

OCIS_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS
FRONTEND_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS

int

1

Define the minimum number of lowercase letters. Defaults to 1 if not set.

OCIS_PASSWORD_POLICY_MIN_DIGITS
FRONTEND_PASSWORD_POLICY_MIN_DIGITS

int

1

Define the minimum number of digits. Defaults to 1 if not set.

OCIS_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS
FRONTEND_PASSWORD_POLICY_MIN_SPECIAL_CHARACTERS

int

1

Define the minimum number of characters from the special characters list to be present. Defaults to 1 if not set.

OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST
FRONTEND_PASSWORD_POLICY_BANNED_PASSWORDS_LIST

string

Path to the 'banned passwords list' file. See the documentation for more details.

YAML Example

  • master

# Autogenerated
# Filename: frontend-config-example.yaml

tracing:
  enabled: false
  type: ""
  endpoint: ""
  collector: ""
log:
  level: ""
  pretty: false
  color: false
  file: ""
debug:
  addr: 127.0.0.1:9141
  token: ""
  pprof: false
  zpages: false
http:
  addr: 127.0.0.1:9140
  protocol: tcp
  prefix: ""
  cors:
    allow_origins:
    - https://localhost:9200
    allow_methods:
    - OPTIONS
    - HEAD
    - GET
    - PUT
    - POST
    - PATCH
    - DELETE
    - MKCOL
    - PROPFIND
    - PROPPATCH
    - MOVE
    - COPY
    - REPORT
    - SEARCH
    allow_headers:
    - Origin
    - Accept
    - Content-Type
    - Depth
    - Authorization
    - Ocs-Apirequest
    - If-None-Match
    - If-Match
    - Destination
    - Overwrite
    - X-Request-Id
    - X-Requested-With
    - Tus-Resumable
    - Tus-Checksum-Algorithm
    - Upload-Concat
    - Upload-Length
    - Upload-Metadata
    - Upload-Defer-Length
    - Upload-Expires
    - Upload-Checksum
    - Upload-Offset
    - X-HTTP-Method-Override
    - Cache-Control
    allow_credentials: false
transfer_secret: ""
token_manager:
  jwt_secret: ""
reva:
  address: com.owncloud.api.gateway
  tls:
    mode: ""
    cacert: ""
machine_auth_api_key: ""
skip_user_groups_in_token: false
enable_favorites: false
max_quota: 0
upload_max_chunk_size: 10000000
upload_http_method_override: ""
default_upload_protocol: tus
enable_federated_sharing_incoming: false
enable_federated_sharing_outgoing: false
search_min_length: 3
edition: Community
disable_sse: false
default_link_permissions: 1
public_url: https://localhost:9200
app_handler:
  insecure: false
archiver:
  max_num_files: 10000
  max_size: 1073741824
  insecure: false
data_gateway:
  prefix: data
ocs:
  prefix: ocs
  share_prefix: /Shares
  home_namespace: /users/{{.Id.OpaqueId}}
  additional_info_attribute: '{{.Mail}}'
  stat_cache_type: memory
  stat_cache_nodes:
  - 127.0.0.1:9233
  stat_cache_database: cache-stat
  stat_cache_table: ""
  stat_cache_ttl: 5m0s
  stat_cache_size: 0
  stat_cache_disable_persistence: false
  stat_cache_auth_username: ""
  stat_cache_auth_password: ""
  enable_denials: false
  list_ocm_shares: true
  public_sharing_share_must_have_password: true
  public_sharing_writeableshare_must_have_password: false
  include_ocm_sharees: false
  show_email_in_results: false
checksums:
  supported_types:
  - sha1
  - md5
  - adler32
  preferred_upload_type: sha1
read_only_user_attributes: []
ldap_server_write_enabled: true
full_text_search: false
middleware:
  auth:
    credentials_by_user_agent: {}
events:
  endpoint: 127.0.0.1:9233
  cluster: ocis-cluster
  tls_insecure: false
  tls_root_ca_certificate: ""
  enable_tls: false
  username: ""
  password: ""
grpc_client_tls: null
auto_accept_shares: true
service_account:
  service_account_id: ""
  service_account_secret: ""
password_policy:
  min_characters: 8
  min_lowercase_characters: 1
  min_uppercase_characters: 1
  min_digits: 1
  min_special_characters: 1
  banned_passwords_list: ""