Uvod
Da biste promenili bilo koje postavke servera ONLYOFFICE Docs, konfigurišite odgovarajući parametar u konfiguracionom fajlu ONLYOFFICE Docs, koji se nalazi na sledećoj putanji:
- Za Linux -
/etc/onlyoffice/documentserver/default.json
- Za Windows -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\default.json
Ako želite da ga promenite, možete koristiti fajl local.json, gde bi svi izmenjeni parametri trebalo da budu sačuvani. Ovaj fajl se nalazi u istom direktorijumu kao i fajl default.json, i cela struktura objekta za neophodni parametar mora biti zadržana.
Molimo vas da ne uređujete sadržaj fajla default.json direktno. Podrazumevane vrednosti će biti vraćene svaki put kada restartujete Docker kontejner ili nadogradite ONLYOFFICE Docs na novu verziju, i sve vaše izmene će biti izgubljene.
Konfiguracioni fajlovi se čitaju u sledećem redosledu prioriteta (najviši prioritet poslednji):
default.json — osnovne podrazumevane vrednosti (ne uređujte)
production.json — nadjačavanja za produkciju
local.json — vaše prilagođene postavke (uređujte ovaj fajl)
runtime.json — postavke promenjene putem Admin Panela (ima najviši prioritet)
Ako je parametar postavljen u više fajlova, koristi se vrednost iz fajla sa najvišim prioritetom.
Podrazumevane postavke servera su opisane ispod.
Uobičajeni scenariji konfiguracije
Slede najčešći zadaci konfiguracije i uključeni parametri:
- Povezivanje sa eksternom bazom podataka: Postavite
services.CoAuthoring.sql.type, services.CoAuthoring.sql.dbHost, services.CoAuthoring.sql.dbPort, services.CoAuthoring.sql.dbName, services.CoAuthoring.sql.dbUser, services.CoAuthoring.sql.dbPass. Za Docker koristite promenljive okruženja DB_TYPE, DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PWD.
- Omogućavanje monitoringa: Postavite
statsd.useMetrics na true i konfigurišite statsd.host, statsd.port. Za Docker koristite METRICS_ENABLED, METRICS_HOST, METRICS_PORT.
- Ograničavanje pristupa po IP adresi: Pogledajte vodič za konfiguraciju IP filtera.
- Promena JWT tajne: Postavite
services.CoAuthoring.secret.session.string i povezane ključeve. Za Docker koristite JWT_SECRET. Pogledajte vodič za konfiguraciju JWT.
- Korišćenje prilagođenog Redis servera: Postavite
services.CoAuthoring.redis.host, services.CoAuthoring.redis.port. Za Docker koristite REDIS_SERVER_HOST, REDIS_SERVER_PORT.
Admin Panel
| Parametar | Opis | Tip | Podrazumevano |
|---|
adminPanel.port
| Definiše port na kojem radi Admin Panel servis. | integer | 9000 |
adminPanel.passwordHash
| Definiše heš lozinke korišćen za zaštitu lozinke pomoću PBKDF2-SHA256 algoritma.
Vrednost ovog parametra se čuva u fajlu runtime.json. Na primer, za Linux verziju, ovaj fajl se može naći ovde: /var/www/onlyoffice/Data/runtime.json
| string | "" |
Ovi parametri definišu svojstva Admin Panela. Za više detalja o korišćenju Admin Panela, možete se obratiti ovom članku.
Primer
"adminPanel": {
"port": 9000
}
StatsD
| Parametar | Opis | Tip | Podrazumevano |
|---|
statsd.useMetrics
| Definiše da li su StatsD metrike omogućene za ONLYOFFICE Docs ili ne. | boolean | false |
statsd.host
| Definiše host StatsD servera (ime hosta ili IP adresa). | string | "localhost" |
statsd.port
| Definiše port StatsD servera. | string | "8125" |
statsd.prefix
| Definiše string koji će biti dodat na početak svih statistika automatski. Pomaže da se razlikuju različite aplikacije koje koriste isti StatsD server. | string | "ds." |
Ovi parametri definišu svojstva StatsD servera, specificirajući agregator metrika.
Primer
"statsd": {
"useMetrics": false,
"host": "localhost",
"port": "8125",
"prefix": "ds."
}
Postavke AI dodatka
| Parametar | Opis | Tip | Podrazumevano |
|---|
aiSettings.actions
| Definiše akcije koje AI obavlja, npr. Chat, Sažimanje, Prevod, Analiza teksta, Generisanje slika, OCR, Vizija. | object | |
aiSettings.models
| Definiše AI modele, npr. gemini-1.5-pro-latest, llama3.2:latest, itd. | array | [] |
aiSettings.providers
| Definiše AI provajdere, npr. OpenAI, Google Gemini, Anthropic, itd. | object | |
aiSettings.version
| Definiše verziju AI SDK-a. | integer | 3 |
aiSettings.timeout
| Definiše timeout za AI proxy (mereno u minutima). | string | "5m" |
aiSettings.allowedCorsOrigins
| Definiše koje spoljne veb stranice smeju da prave cross-origin zahteve ka serveru. | array of strings | ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"] |
aiSettings.proxy
| Podržava rutiranje AI zahteva preko proxy-ja. | string | "" |
Ovi parametri definišu svojstva AI dodatka.
Primer
"aiSettings": {
"actions": {},
"models": [],
"providers": {},
"version": 3,
"timeout": "5m",
"allowedCorsOrigins": ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"],
"proxy": ""
}
Logger
| Parametar | Opis | Tip | Podrazumevano |
|---|
log.filePath
| Definiše putanju do log fajla. | string | "" |
log.options
| Definiše opcije logovanja. | objekat | |
log.options.replaceConsole
| Definiše da li će informacije o logovanju biti ispisane na konzolu ili ne. | boolean | true |
Ovi parametri definišu svojstva logera.
Primer
"log": {
"filePath": "",
"options": {
"replaceConsole": true
}
}
Runtime konfiguracija
| Parametar | Opis | Tip | Podrazumevano |
|---|
runtimeConfig.filePath
| Definiše putanju do dinamičke konfiguracione datoteke runtime.json. Podrazumevano se koristi putanja /var/www/onlyoffice/Data/runtime.json. | string | "" |
runtimeConfig.cache
| Definiše opcije keširanja za runtime.json. | objekat | |
runtimeConfig.cache.stdTTL
| Definiše TTL (vreme života) za svaki generisani element keša (mereno u sekundama). | integer | 300 |
runtimeConfig.cache.checkperiod
| Definiše period korišćen za automatski interval provere brisanja (mereno u sekundama). | integer | 60 |
runtimeConfig.cache.useClones
| Definiše da li će keširane promenljive biti klonirane ili ne. Ako je true, biće kreirana kopija keširane promenljive. Ako je false, biće sačuvana samo referenca. | boolean | false |
Ovi parametri definišu svojstva dinamičke konfiguracione datoteke runtime.json. Ova datoteka omogućava promenu parametara bez ponovnog pokretanja. Datoteka se ponovo učitava na osnovu događaja nadgledanja ili svakih 5 minuta.
Primer
"runtimeConfig": {
"filePath": "",
"cache": {
"stdTTL": 300,
"checkperiod": 60,
"useClones": false
}
}
Redovi
| Parametar | Opis | Tip | Podrazumevano |
|---|
queue.type
| Definiše tip posrednika poruka. | string | "rabbitmq" |
queue.visibilityTimeout
| Definiše vreme isteka konverzije (mereno u sekundama). | integer | 300 |
queue.retentionPeriod
| Definiše TTL (vreme života) svih poruka u redu (mereno u sekundama). | integer | 900 |
Ovi parametri definišu red poruka primljenih od posrednika poruka.
Primer
"queue": {
"type": "rabbitmq",
"visibilityTimeout": 300,
"retentionPeriod": 900
}
Email
| Parametar | Opis | Tip | Podrazumevano |
|---|
email.smtpServerConfiguration
| Definiše osnovna podešavanja za povezivanje sa SMTP serverom. | objekat | |
email.smtpServerConfiguration.host
| Definiše ime hosta ili IP adresu SMTP servera. | string | "localhost" |
email.smtpServerConfiguration.port
| Definiše port SMTP servera. | integer | 587 |
email.smtpServerConfiguration.auth
| Definiše podatke za autentifikaciju. | objekat | |
email.smtpServerConfiguration.auth.user
|
Definiše korisničko ime za autentifikaciju.
Napomena: Počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
email.smtpServerConfiguration.auth.pass
|
Definiše lozinku za autentifikaciju.
Napomena: Počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
email.connectionConfiguration
| Definiše tehničke opcije za povezivanje sa SMTP serverom. | objekat | |
email.connectionConfiguration.disableFileAccess
|
Definiše da li je dozvoljeno korišćenje datoteka kao sadržaja. Ako je ovaj parametar postavljen na true, tada se JSON podaci iz nepouzdanog izvora ne mogu koristiti kao email.
Ako prilog ili čvor poruke pokušaju da preuzmu nešto iz datoteke, slanje vraća grešku.
| boolean | false |
email.connectionConfiguration.disableUrlAccess
| Definiše da li je dozvoljeno korišćenje URL-ova kao sadržaja. | boolean | false |
email.contactDefaults
| Definiše podešavanja email poruke. | objekat | |
email.contactDefaults.from
|
Definiše email adresu pošiljaoca. Sve email adrese mogu biti obične "sender@server.com"
ili sa formatiranim imenom '"Sender Name" sender@server.com'.
| string | "from@example.com" |
email.contactDefaults.to
| Definiše listu ili niz email adresa primalaca koji će se pojaviti u polju To:. | string | "to@example.com" |
Ovi parametri definišu podešavanja spoljnog mail servera, koji se koristi za slanje notifikacija
Da biste se povezali sa mail serverom, koristite biblioteku nodemailer. Mnoge postavke konfiguracije se direktno prosleđuju ovoj biblioteci.
Primer
"email": {
"smtpServerConfiguration": {
"host": "localhost",
"port": 587,
"auth": {
"user": "",
"pass": ""
}
},
"connectionConfiguration": {
"disableFileAccess": false,
"disableUrlAccess": false
},
"contactDefaults": {
"from": "from@example.com",
"to": "to@example.com"
}
}
Obaveštenje
| Parametar | Opis | Tip | Podrazumevano |
|---|
notification.rules
|
Definiše pravila postavki obaveštenja za četiri tipa obaveštenja:
licenseExpirationWarning, licenseExpirationError, licenseLimitEdit, licenseLimitLiveViewer.
| objekat | |
notification.rules.licenseExpirationWarning
| Definiše pravila za postavke obaveštenja licenseExpirationWarning. | objekat | |
notification.rules.licenseExpirationWarning.enable
| Definiše da li je obaveštenje licenseExpirationWarning omogućeno. Svaki tip obaveštenja mora biti omogućen zasebno. | boolean | false |
notification.rules.licenseExpirationWarning.transportType
| Definiše način slanja obaveštenja licenseExpirationWarning. Trenutno je dostupan samo tip email. | niz stringova | ["email"] |
notification.rules.licenseExpirationWarning.template
| Definiše šablon naslova i tela obaveštenja licenseExpirationWarning. | objekat | |
notification.rules.licenseExpirationWarning.template.title
| Definiše šablon naslova obaveštenja licenseExpirationWarning. | string | "%s Docs upozorenje o isteku licence" |
notification.rules.licenseExpirationWarning.template.body
| Definiše šablon tela obaveštenja licenseExpirationWarning. | string | "Pažnja! Vaša licenca ističe %s.\nNakon ovog datuma, više nećete imati pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma." |
notification.rules.licenseExpirationWarning.policies
| Definiše politiku slanja obaveštenja licenseExpirationWarning. | objekat | |
notification.rules.licenseExpirationWarning.policies.repeatInterval
| Definiše vreme kada će obaveštenje licenseExpirationWarning biti poslato (ne češće od navedenog perioda). | string | "1d" |
notification.rules.licenseExpirationError
| Definiše pravila za postavke obaveštenja licenseExpirationError. | objekat | |
notification.rules.licenseExpirationError.enable
| Definiše da li je obaveštenje licenseExpirationError omogućeno. Svaki tip obaveštenja mora biti omogućen zasebno. | boolean | false |
notification.rules.licenseExpirationError.transportType
| Definiše način slanja obaveštenja licenseExpirationError. Trenutno je dostupan samo tip email. | niz stringova | ["email"] |
notification.rules.licenseExpirationError.template
| Definiše šablon naslova i tela obaveštenja licenseExpirationError. | objekat | |
notification.rules.licenseExpirationError.template.title
| Definiše šablon naslova obaveštenja licenseExpirationError. | string | "%s Docs upozorenje o isteku licence" |
notification.rules.licenseExpirationError.template.body
| Definiše šablon tela obaveštenja licenseExpirationError. | string | "Pažnja! Vaša licenca je istekla %s.\nViše nemate pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma.\nMolimo kontaktirajte sales@onlyoffice.com da biste razgovarali o obnovi licence." |
notification.rules.licenseExpirationError.policies
| Definiše politiku slanja obaveštenja licenseExpirationError. | objekat | |
notification.rules.licenseExpirationError.policies.repeatInterval
| Definiše vreme kada će obaveštenje licenseExpirationError biti poslato (ne češće od navedenog perioda). | string | "1d" |
notification.rules.licenseLimitEdit
| Definiše pravila za postavke obaveštenja licenseLimitEdit. | objekat | |
notification.rules.licenseLimitEdit.enable
| Definiše da li je obaveštenje licenseLimitEdit omogućeno. Svaki tip obaveštenja mora biti omogućen zasebno. | boolean | false |
notification.rules.licenseLimitEdit.transportType
| Definiše način slanja obaveštenja licenseLimitEdit. Trenutno je dostupan samo tip email. | niz stringova | ["email"] |
notification.rules.licenseLimitEdit.template
| Definiše šablon naslova i tela obaveštenja licenseLimitEdit. | objekat | |
notification.rules.licenseLimitEdit.template.title
| Definiše šablon naslova obaveštenja licenseLimitEdit. | string | "%s Docs upozorenje o ograničenju konekcija licence" |
notification.rules.licenseLimitEdit.template.body
| Definiše šablon tela obaveštenja licenseLimitEdit. | string | "Pažnja! Dostigli ste %s%% od %s limita postavljenog vašom licencom." |
notification.rules.licenseLimitEdit.policies
| Definiše politiku slanja obaveštenja licenseLimitEdit. | object | |
notification.rules.licenseLimitEdit.policies.repeatInterval
| Definiše vreme kada će obaveštenje licenseLimitEdit biti poslato (ne češće od navedenog perioda). | string | "1d" |
notification.rules.licenseLimitLiveViewer
| Definiše pravila za podešavanje obaveštenja licenseLimitLiveViewer. | object | |
notification.rules.licenseLimitLiveViewer.enable
| Definiše da li je obaveštenje licenseLimitLiveViewer omogućeno. Svaka vrsta obaveštenja mora biti omogućena posebno. | boolean | false |
notification.rules.licenseLimitLiveViewer.transportType
| Definiše način slanja obaveštenja licenseLimitLiveViewer. Trenutno je dostupan samo tip email. | array of strings | ["email"] |
notification.rules.licenseLimitLiveViewer.template
| Definiše šablon naslova i tela obaveštenja licenseLimitLiveViewer. | object | |
notification.rules.licenseLimitLiveViewer.template.title
| Definiše šablon naslova obaveštenja licenseLimitLiveViewer. | string | "%s Docs license connection limit warning" |
notification.rules.licenseLimitLiveViewer.template.body
| Definiše šablon tela obaveštenja licenseLimitLiveViewer. | string | "Pažnja! Dostigli ste %s%% od %s limita postavljenog vašom licencom." |
notification.rules.licenseLimitLiveViewer.policies
| Definiše politiku slanja obaveštenja licenseLimitLiveViewer. | object | |
notification.rules.licenseLimitLiveViewer.policies.repeatInterval
| Definiše vreme kada će obaveštenje licenseLimitLiveViewer biti poslato (ne češće od navedenog perioda). | string | "1d" |
Ovi parametri definišu podešavanja obaveštenja.
Obaveštenja sa sledećim tipovima događaja i sadržajem se šalju:
-
Prekoračeno je 70% kvote konekcija (kvote jedinstvenih korisnika).
Upozorenje o limitu konekcija licence: "Pažnja! Dostigli ste 70% limita konekcija postavljenog vašom licencom."
-
Dostignuta je kvota konekcija (kvota jedinstvenih korisnika).
Upozorenje o limitu konekcija licence: "Pažnja! Dostigli ste 100% limita konekcija postavljenog vašom licencom."
-
30 dana pre nego što licenca istekne.
Upozorenje o isteku licence:
"Pažnja! Vaša licenca će isteći 8. septembra 2024.
Nakon ovog datuma, više nećete imati pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma."
-
Licenca je istekla.
Upozorenje o limitu konekcija licence:
"Pažnja! Vaša licenca je istekla 8. septembra 2024.
Više nemate pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma.
Molimo kontaktirajte sales@onlyoffice.com da razgovarate o obnavljanju licence."
Ova obaveštenja se beleže u server log sa WARN ili ERROR nivoom.
Primer
"notification": {
"rules": {
"licenseExpirationWarning": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Docs license expiration warning",
"body": "Pažnja! Vaša licenca će isteći %s.\nNakon ovog datuma, više nećete imati pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseExpirationError": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Docs license expiration warning",
"body": "Pažnja! Vaša licenca je istekla %s.\nViše nemate pravo na ličnu tehničku podršku i instalaciju novih verzija Docs-a objavljenih nakon ovog datuma.\nMolimo kontaktirajte sales@onlyoffice.com da razgovarate o obnavljanju licence."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseLimitEdit": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Docs license connection limit warning",
"body": "Pažnja! Dostigli ste %s%% od %s limita postavljenog vašom licencom."
},
"policies": {
"repeatInterval": "1h"
}
},
"licenseLimitLiveViewer": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Docs license connection limit warning",
"body": "Pažnja! Dostigli ste %s%% od limita za live viewere %s postavljenog vašom licencom."
},
"policies": {
"repeatInterval": "1h"
}
}
}
}
Servis za skladištenje dokumenata
| Parametar | Opis | Tip | Podrazumevano |
|---|
storage.name
| Definiše ime servisa za skladištenje dokumenata. npr., vrednost "storage-s3" omogućava povezivanje Amazon S3 bucket-a kao keš. Vrednost "storage-az" omogućava povezivanje MS Azure Blob Storage-a kao keš. | string | "storage-fs" |
storage.fs
| Definiše parametre fileSystem objekta. | object | |
storage.fs.folderPath
| Definiše putanju do App_Data foldera gde su svi fajlovi uskladišteni. | string | "" |
storage.fs.urlExpires
| Definiše vreme kada privremeni URL do fileSystem objekta ističe (meri se u sekundama). | integer | 900 |
storage.fs.secretString
| Definiše tajni string koji se koristi za potpisivanje URL-a. | string | "verysecretstring" |
storage.region
| Definiše AWS region gde se nalazi vaš Amazon bucket. | string | "" |
storage.endpoint
| Definiše endpoint S3 AWS skladišta dokumenata ili MS Azure Blob Storage-a. | string | "http://localhost/s3" |
storage.bucketName
| Definiše jedinstveno ime S3 AWS skladišta dokumenata ili MS Azure Blob Storage-a. | string | "cache" |
storage.storageFolderName
| Definiše ime foldera S3 AWS skladišta dokumenata gde su svi fajlovi uskladišteni. | string | "files" |
storage.cacheFolderName
| Definiše naziv keš foldera za rad u multi-tenant režimu. | string | "data" |
storage.commandOptions
| Definiše parametre koji omogućavaju prilagođavanje komandi za skladištenje, na primer, omogućavanje AWS KMS. | object | |
storage.commandOptions.s3
| Definiše parametre koji omogućavaju prilagođavanje komandi za S3 AWS skladište dokumenata. | object | |
storage.commandOptions.s3.putObject
| Definiše parametre tipa komande putObject koja se koristi za otpremanje objekta u određeni S3 bucket. | object | |
storage.commandOptions.s3.putObject.ServerSideEncryption
| Definiše tip enkripcije za novootpremljeni objekat. Dostupne vrednosti su "aws:kms" ili "AES256". | string | |
storage.commandOptions.s3.putObject.BucketKeyEnabled
| Ovo je opcionalna postavka. Optimizuje trošak po zahtevu smanjenjem poziva na KMS API. | boolean | |
storage.commandOptions.s3.putObject.SSEKMSKeyId
| Definiše identifikator (ARN ili ključ) korisnički upravljanog ključa u AWS KMS koji se koristi za enkripciju objekta nakon otpremanja. | string | |
storage.commandOptions.s3.getObject
| Definiše parametre tipa komande getObject koja se koristi za preuzimanje objekta iz određenog S3 bucket-a. | object | |
storage.commandOptions.s3.copyObject
| Definiše parametre tipa komande copyObject koja se koristi za kreiranje kopije objekta smeštenog u određenom S3 bucket-u. | object | |
storage.commandOptions.s3.copyObject.ServerSideEncryption
| Definiše tip enkripcije za novokopirani objekat. Dostupne vrednosti su "aws:kms" ili "AES256". | string | |
storage.commandOptions.s3.copyObject.BucketKeyEnabled
| Ovo je opcionalna postavka. Optimizuje trošak po zahtevu smanjenjem poziva na KMS API. | boolean | |
storage.commandOptions.s3.copyObject.SSEKMSKeyId
| Definiše identifikator (ARN ili ključ) korisnički upravljanog ključa u AWS KMS koji se koristi za enkripciju objekta nakon kopiranja. | string | |
storage.commandOptions.s3.copyObject.MetadataDirective
| Definiše kako Amazon S3 treba da rukuje metapodacima ciljnog objekta tokom operacije kopiranja. Ako je vrednost postavljena na "COPY", metapodaci iz izvornog objekta se kopiraju u ciljni objekat. Ako je vrednost postavljena na "REPLACE", metapodaci ciljnog objekta se zamenjuju metapodacima navedenim u zahtevu copyObject i metapodaci iz izvornog objekta se ne kopiraju. | string | "COPY" |
storage.commandOptions.s3.listObjects
| Definiše parametre tipa komande listObjects koja se koristi za preuzimanje liste objekata unutar određenog S3 bucket-a. | object | |
storage.commandOptions.s3.listObjects.MaxKeys
| Definiše maksimalan broj objekata koji se vraćaju u odgovoru. | integer | 1000 |
storage.commandOptions.s3.deleteObject
| Definiše parametre tipa komande deleteObject koja se koristi za uklanjanje objekta iz određenog S3 bucket-a. | object | |
storage.commandOptions.az
| Definiše parametre koji omogućavaju prilagođavanje komandi za MS Azure Blob Storage. | object | |
storage.commandOptions.az.uploadData
| Definiše parametre tipa komande uploadData koja se koristi za otpremanje podataka u MS Azure Blob Storage. | object | |
storage.commandOptions.az.uploadData.encryptionScope
| Definiše naziv opsega enkripcije koji se koristi za enkripciju otpremljenog blob-a. | string | |
storage.commandOptions.az.uploadStream
| Definiše parametre tipa komande uploadStream koja se koristi za otpremanje podataka iz stream-a u MS Azure Blob Storage. | object | |
storage.commandOptions.az.uploadStream.encryptionScope
| Definiše naziv opsega enkripcije koji se koristi za enkripciju blob-a otpremljenog iz stream-a. | string | |
storage.commandOptions.az.download
| Definiše parametre tipa komande download koja se koristi za preuzimanje podataka iz MS Azure Blob Storage. | object | |
storage.commandOptions.az.syncCopyFromURL
| Definiše parametre tipa komande syncCopyFromURL koja se koristi za kopiranje blob-a sa izvornog URL-a na ciljni blob. | object | |
storage.commandOptions.az.syncCopyFromURL.encryptionScope
| Definiše naziv opsega enkripcije koji se koristi za enkripciju kopiranog blob-a. | string | |
storage.commandOptions.az.listBlobsFlat
| Definiše parametre tipa komande listBlobsFlat koja se koristi za preuzimanje liste svih blob-ova u kontejneru. | object | |
storage.commandOptions.az.listBlobsFlat.maxPageSize
| Definiše maksimalan broj blob-ova za vraćanje. | integer | 1000 |
storage.commandOptions.az.deleteBlob
| Definiše parametre tipa komande deleteBlob koja se koristi za uklanjanje blob-a. | object | |
storage.urlExpires
| Definiše vreme kada URL za S3 AWS skladište dokumenata ističe (mereno u milisekundama). | integer | 604800 |
storage.accessKeyId
| Definiše ID ključa za pristup S3 AWS skladištu dokumenata ili MS Azure Blob Storage. | string | "" |
storage.secretAccessKey
| Definiše tajni ključ za pristup S3 AWS skladištu dokumenata ili MS Azure Blob Storage. | string | "" |
storage.sslEnabled
| Definiše da li je SSL za S3 AWS skladište dokumenata omogućen ili ne. | boolean | false |
storage.s3ForcePathStyle
| Definiše da li zahtevi prema S3 AWS skladištu dokumenata uvek koriste adresiranje putem putanje. | boolean | true |
storage.externalHost
| Definiše eksterni host koji se koristi umesto hosta navedenog u zahtevu. | string | "" |
storage.useDirectStorageUrls
| Definiše izdavanje linkova ka eksternom skladištu: direktni linkovi ili linkovi koji se prosleđuju kroz Document Server. Postavljanje ovog parametra na true omogućava direktne linkove, dok false omogućava korišćenje internih linkova (server prosleđuje zahteve ka skladištu). | boolean | false |
Ovi parametri definišu konfiguraciju usluge skladištenja dokumenata.
Primer
"storage": {
"name": "storage-fs",
"fs": {
"folderPath": "",
"urlExpires": 900,
"secretString": "verysecretstring"
},
"region": "",
"endpoint": "http://localhost/s3",
"bucketName": "cache",
"storageFolderName": "files",
"cacheFolderName": "data",
"commandOptions": {
"s3": {
"putObject": {},
"getObject": {},
"copyObject": {
"MetadataDirective": "COPY"
},
"listObjects": {
"MaxKeys": 1000
},
"deleteObject": {}
},
"az": {
"uploadData": {},
"uploadStream": {},
"download": {},
"syncCopyFromURL": {},
"listBlobsFlat": {
"maxPageSize": 1000
},
"deleteBlob": {}
}
},
"urlExpires": 604800,
"accessKeyId": "",
"secretAccessKey": "",
"sslEnabled": false,
"s3ForcePathStyle": true,
"externalHost": "",
"useDirectStorageUrls": false
}
Persistentno skladište
Ovi parametri definišu postavke za persistentno skladište, koje se koristi za razdvajanje postavki za skladištenje keširanih datoteka dokumenata i skladištenje zaboravljenih i greškom nastalih datoteka.
Postavke koje nisu navedene u ovom objektu se nasleđuju iz storage objekta. Razdvajanje je pogodno za nadogradnje servera.
Primer
"persistentStorage": {
}
RabbitMQ
| Parametar | Opis | Tip | Podrazumevano |
|---|
rabbitmq.url
|
Definiše RabbitMQ URL.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "amqp://localhost:5672" |
rabbitmq.socketOptions
|
Definiše RabbitMQ opcije za socket koje će biti prosleđene biblioteci za socket (net ili tls). Ove opcije moraju biti polja postavljena na dostavljenom objektu. Opcije za socket se mogu koristiti za SSL konekciju i mogu sadržati sledeća polja:
-
cert - definiše sertifikat koji će biti predstavljen serveru (u PEM ili pkcs12 formatu),
tip: string,
primer: "";
-
key - definiše privatni ključ za sertifikat (u PEM ili pkcs12 formatu),
tip: string,
primer: "";
-
passphrase - definiše lozinku za privatni ključ,
tip: string,
primer: "MySecretPassword";
-
ca - definiše listu CA sertifikata u PEM formatu kojima ćemo verovati, s obzirom da koristimo samopotpisani sertifikat,
tip: niz,
primer: [];
-
noDelay - definiše da li je TCP_NODELAY (Nagleov algoritam) postavljen na osnovnom socketu ili ne,
tip: boolean,
primer: true.
| object | {} |
rabbitmq.exchangepubsub
| Definiše Publisher Subscriber exchange server. | object | |
rabbitmq.exchangepubsub.name
| Definiše ime Publisher Subscriber servera. | string | "ds.pubsub" |
rabbitmq.exchangepubsub.options
| Definiše postavke Publisher Subscriber servera. | object | |
rabbitmq.exchangepubsub.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queuepubsub
| Definiše Publisher Subscriber red. | object | |
rabbitmq.queuepubsub.name
| Definiše ime Publisher Subscriber reda. | string | "" |
rabbitmq.queuepubsub.options
| Definiše postavke Publisher Subscriber reda. | object | |
rabbitmq.queuepubsub.options.autoDelete
| Definiše da li će red biti obrisan kada broj potrošača padne na nulu. | boolean | true |
rabbitmq.queuepubsub.options.exclusive
| Definiše da li će red biti ograničen na vezu. | boolean | true |
rabbitmq.queuepubsub.options.arguments
| Definiše dodatne argumente, obično parametre za neku vrstu brokerske specifične ekstenzije npr. visoka dostupnost, TTL. | object | |
rabbitmq.queuepubsub.options.arguments.x-queue-type
| Definiše vrednost x-queue-type zaglavlja koje specificira tip reda. Mogu se koristiti samo klasični redovi. | string | "classic" |
rabbitmq.queueconverttask
| Definiše red zadataka. | object | |
rabbitmq.queueconverttask.name
| Definiše naziv reda zadataka. | string | "ds.converttask6" |
rabbitmq.queueconverttask.options
| Definiše postavke reda zadataka. | object | |
rabbitmq.queueconverttask.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queueconverttask.options.maxPriority
| Definiše prioritet reda. | integer | 6 |
rabbitmq.queueconverttask.options.arguments
| Definiše dodatne argumente, obično parametre za neku vrstu brokerske ekstenzije, npr. visoka dostupnost, TTL. | object | |
rabbitmq.queueconverttask.options.arguments.x-queue-type
| Definiše vrednost zaglavlja x-queue-type koja specificira tip reda. Ova postavka može se koristiti za podešavanje quorum redova. | string | "classic" |
rabbitmq.queueconvertresponse
| Definiše red odgovora. | object | |
rabbitmq.queueconvertresponse.name
| Definiše naziv reda odgovora. | string | "ds.convertresponse" |
rabbitmq.queueconvertresponse.options
| Definiše postavke reda odgovora. | object | |
rabbitmq.queueconvertresponse.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queueconvertresponse.options.arguments
| Definiše dodatne argumente, obično parametre za neku vrstu brokerske ekstenzije, npr. visoka dostupnost, TTL. | object | |
rabbitmq.queueconvertresponse.options.arguments.x-queue-type
| Definiše vrednost zaglavlja x-queue-type koja specificira tip reda. Ova postavka može se koristiti za podešavanje quorum redova. | string | "classic" |
rabbitmq.exchangeconvertdead
| Definiše dead letter exchange. | object | |
rabbitmq.exchangeconvertdead.name
| Definiše naziv dead letter exchange-a. | string | "ds.exchangeconvertdead" |
rabbitmq.exchangeconvertdead.options
| Definiše postavke dead letter exchange-a. | object | |
rabbitmq.exchangeconvertdead.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queueconvertdead
| Definiše dead letter red. | object | |
rabbitmq.queueconvertdead.name
| Definiše naziv dead letter reda. | string | "ds.convertdead" |
rabbitmq.queueconvertdead.options
| Definiše postavke dead letter reda. | object | |
rabbitmq.queueconvertdead.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queueconvertdead.options.arguments
| Definiše dodatne argumente, obično parametre za neku vrstu brokerske ekstenzije, npr. visoka dostupnost, TTL. | object | |
rabbitmq.queueconvertdead.options.arguments.x-queue-type
| Definiše vrednost zaglavlja x-queue-type koja specificira tip reda. Ova postavka može se koristiti za podešavanje quorum redova. | string | "classic" |
rabbitmq.queuedelayed
| Definiše odloženi red. | object | |
rabbitmq.queuedelayed.name
| Definiše naziv odloženog reda. | string | "ds.delayed" |
rabbitmq.queuedelayed.options
| Definiše postavke odloženog reda. | object | |
rabbitmq.queuedelayed.options.durable
| Definiše da li će red preživeti restart brokera. | boolean | true |
rabbitmq.queuedelayed.options.arguments
| Definiše dodatne argumente, obično parametre za neku vrstu brokerske ekstenzije, npr. visoka dostupnost, TTL. | object | |
rabbitmq.queuedelayed.options.arguments.x-queue-type
| Definiše vrednost zaglavlja x-queue-type koja specificira tip reda. Ova postavka može se koristiti za podešavanje quorum redova. | string | "classic" |
Ovi parametri definišu konfiguraciju RabbitMQ message brokera.
Primer
"rabbitmq": {
"url": "amqp://localhost:5672",
"socketOptions": {},
"exchangepubsub": {
"name": "ds.pubsub",
"options": {
"durable": true
}
},
"queuepubsub": {
"name": "",
"options": {
"autoDelete": true,
"exclusive": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queueconverttask": {
"name": "ds.converttask6",
"options": {
"durable": true,
"maxPriority": 6,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queueconvertresponse": {
"name": "ds.convertresponse",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"exchangeconvertdead": {
"name": "ds.exchangeconvertdead",
"options": {
"durable": true
}
},
"queueconvertdead": {
"name": "ds.convertdead",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
},
"queuedelayed": {
"name": "ds.delayed",
"options": {
"durable": true,
"arguments": {
"x-queue-type": "classic"
}
}
}
}
ActiveMQ
| Parametar | Opis | Tip | Podrazumevano |
|---|
activemq.connectOptions
| Definiše opcije povezivanja za ActiveMQ. | objekat | |
activemq.connectOptions.port
| Definiše port servera na koji je povezan ActiveMQ kontejner. | celo broj | 5672 |
activemq.connectOptions.host
| Definiše host (ime hosta ili IP adresu) servera na koji je povezan ActiveMQ kontejner. | string | "localhost" |
activemq.connectOptions.reconnect
| Definiše da li će se ActiveMQ modul automatski pokušati ponovo povezati ako dođe do prekida veze (true) ili ne (false). | boolean | false |
activemq.queueconverttask
| Definiše red zadataka. | string | "ds.converttask" |
activemq.queueconvertresponse
| Definiše red odgovora. | string | "ds.convertresponse" |
activemq.queueconvertdead
| Definiše red za neisporučene poruke. | string | "ActiveMQ.DLQ" |
activemq.queuedelayed
| Definiše red sa odloženim porukama. | string | "ds.delayed" |
activemq.topicpubsub
| Definiše temu za Publisher Subscriber. | string | "ds.pubsub" |
Ovi parametri definišu konfiguraciju ActiveMQ posrednika poruka.
Primer
"activemq": {
"connectOptions": {
"port": 5672,
"host": "localhost",
"reconnect": false
},
"queueconverttask": "ds.converttask",
"queueconvertresponse": "ds.convertresponse",
"queueconvertdead": "ActiveMQ.DLQ",
"queuedelayed": "ds.delayed",
"topicpubsub": "ds.pubsub"
}
DNS keš
| Parametar | Opis | Tip | Podrazumevano |
|---|
dnscache.enable
| Definiše da li je DNS keš omogućen ili ne. | boolean | true |
dnscache.ttl
| Definiše vreme kada DNS zapisi ističu (mereno u sekundama). | celo broj | 300 |
dnscache.cachesize
| Definiše veličinu DNS keša. | celo broj | 1000 |
Ovi parametri definišu konfiguraciju DNS keša koji se koristi za IP-filter.
Primer
"dnscache": {
"enable" : true,
"ttl" : 300,
"cachesize" : 1000
}
OpenPGP protokol
| Parametar | Opis | Tip | Podrazumevano |
|---|
openpgpjs.config
| Definiše konfiguraciju OpenPGP protokola. | objekat | {} |
openpgpjs.encrypt
| Definiše postavke za OpenPGP enkripciju. | objekat | |
openpgpjs.encrypt.passwords
| Definiše lozinku koja se koristi za OpenPGP enkripciju. | niz stringova | ["verysecretstring"] |
openpgpjs.decrypt
| Definiše postavke za OpenPGP dekripciju. | objekat | |
openpgpjs.decrypt.passwords
| Definiše lozinku koja se koristi za OpenPGP dekripciju. | niz stringova | ["verysecretstring"] |
Ovi parametri definišu postavke OpenPGP protokola, koji se koristi za enkripciju lozinke prilikom otvaranja enkriptovanog dokumenta za uređivanje.
Primer
"openpgpjs": {
"config": {
},
"encrypt": {
"passwords": ["verysecretstring"]
},
"decrypt": {
"passwords": ["verysecretstring"]
}
}
AES-256-GCM algoritam
| Parametar | Opis | Tip | Podrazumevano |
|---|
aesEncrypt.config
| Definiše konfiguraciju AES-256-GCM algoritma. | objekat | |
aesEncrypt.config.keyByteLength
| Definiše dužinu ključa merenu u bajtovima. | celo broj | 32 |
aesEncrypt.config.saltByteLength
| Definiše dužinu soli merenu u bajtovima. | celo broj | 64 |
aesEncrypt.config.initializationVectorByteLength
| Definiše dužinu inicijalizacionog vektora izraženu u bajtovima. | integer | 16 |
aesEncrypt.config.iterationsByteLength
| Definiše dužinu iteracija izraženu u bajtovima. | integer | 5 |
aesEncrypt.secret
| Definiše lozinku koja se koristi za AES-256-GCM enkripciju. | string | "verysecretstring" |
Ovi parametri definišu postavke AES-256-GCM algoritma enkripcije koji se koristi za zaštitu dokumenata lozinkom.
Primer
"aesEncrypt": {
"config": {
"keyByteLength": 32,
"saltByteLength": 64,
"initializationVectorByteLength": 16,
"iterationsByteLength": 5
},
"secret": "verysecretstring"
}
Bottleneck
| Parametar | Opis | Tip | Podrazumevano |
|---|
bottleneck.getChanges
| Definiše opcije konstruktora za generisanje limitera za ograničavanje zahteva ka bazi podataka. | object | {} |
Ovaj parametar definiše konfiguraciju Bottleneck-a.
Primer
"bottleneck": {
"getChanges": {
}
}
Windows System Root sertifikati
| Parametar | Opis | Tip | Podrazumevano |
|---|
win-ca.inject
| Definiše način injektovanja Windows System Root sertifikata. Znak "+" označava da se koristi nova eksperimentalna metoda za instalaciju sertifikata. | string | "+" |
Ovaj parametar definiše postavke Windows System Root sertifikata.
Primer
"win-ca": {
"inject": "+"
}
WOPI
| Parametar | Opis | Tip | Podrazumevano |
|---|
wopi.enable
| Definiše da li je WOPI omogućen ili ne. | boolean | false |
wopi.host
| Definiše WOPI host (ime hosta ili IP adresa). | string | "" |
wopi.htmlTemplate
| Definiše putanju do WOPI HTML šablona. | string | "../../web-apps/apps/api/wopi" |
wopi.wopiZone
| Definiše zonu koju Document Server koristi za navigaciju pretraživača ka WOPI aplikaciji. | string | "external-http" |
wopi.favIconUrlWord
| Definiše putanju do favikone za uređivač dokumenata. | string | "/web-apps/apps/documenteditor/main/resources/img/favicon.ico" |
wopi.favIconUrlCell
| Definiše putanju do favikone za uređivač tabela. | string | "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico" |
wopi.favIconUrlSlide
| Definiše putanju do favikone za uređivač prezentacija. | string | "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico" |
wopi.favIconUrlPdf
| Definiše putanju do favikone za uređivač PDF dokumenata. | string | "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico" |
wopi.favIconUrlDiagram
| Definiše putanju do favikone za uređivač dijagrama. | string | "/web-apps/apps/visioeditor/main/resources/img/favicon.ico" |
wopi.fileInfoBlockList
| Definiše listu WOPI informacija o fajlovima koje su blokirane prilikom slanja ovog niza pretraživaču. Međutim, ovi parametri su dostupni na serveru. | array of strings | ["FileUrl"] |
wopi.pdfView
| Definiše tipove fajlova koji se mogu pregledati u uređivaču PDF dokumenata. | array of strings | ["djvu", "xps", "oxps"] |
wopi.pdfEdit
| Definiše tipove fajlova koji se mogu uređivati u uređivaču PDF dokumenata. | array of strings | ["pdf"] |
wopi.forms
| Definiše tipove fajlova za forme. | array of strings | ["pdf"] |
wopi.wordView
| Definiše tipove fajlova koji se mogu pregledati u uređivaču dokumenata. | array of strings | ["doc", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt", "pages", "docxf", "oform", "hwp", "hwpx", "md", "hml"] |
wopi.wordEdit
| Definiše tipove fajlova koji se mogu uređivati u uređivaču dokumenata. | array of strings | ["docx", "dotx", "docm", "odt", "txt"] |
wopi.cellView
| Definiše tipove fajlova koji se mogu pregledati u uređivaču tabela. | array of strings | ["xls", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett", "numbers"] |
wopi.cellEdit
| Definiše tipove fajlova koji se mogu uređivati u uređivaču tabela. | array of strings | ["xlsx", "xlsb", "xltx", "xlsm", "ods", "csv"] |
wopi.slideView
| Definiše tipove fajlova koji se mogu pregledati u uređivaču prezentacija. | array of strings | ["ppt", "ppsx", "ppsm", "pps", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt", "key", "odg"] |
wopi.slideEdit
| Definiše tipove fajlova koji se mogu uređivati u uređivaču prezentacija. | array of strings | ["pptx", "potx", "pptm", "odp"] |
wopi.diagramView
| Definiše tipove fajlova koji se mogu pregledati u uređivaču dijagrama. | niz stringova | ["vsdx", "vstx", "vssx", "vsdm", "vstm", "vssm"] |
wopi.diagramEdit
| Definiše tipove fajlova koji se mogu uređivati u uređivaču dijagrama. | niz stringova | [] |
wopi.publicKey
|
Definiše javni ključ koji integrator koristi za proveru privatnog ključa.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.modulus
|
Definiše RSA modul u Base64 kodiranom formatu koji se koristi za preuzimanje javnog ključa.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.exponent
| Definiše RSA eksponent u Base64 kodiranom formatu koji se koristi za preuzimanje javnog ključa. | string | 65537 |
wopi.privateKey
|
Definiše privatni ključ koji potpisuje zahtev Document Server-a.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.publicKeyOld
|
Definiše stari javni ključ koji je integrator koristio za proveru privatnog ključa.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.modulusOld
|
Definiše stari RSA modul u Base64 kodiranom formatu koji je korišćen za preuzimanje javnog ključa.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.exponentOld
| Definiše stari RSA eksponent u Base64 kodiranom formatu koji je korišćen za preuzimanje javnog ključa. | string | 65537 |
wopi.privateKeyOld
|
Definiše stari privatni ključ koji je potpisivao zahtev Document Server-a.
Napomena: počevši od verzije 8.3, vrednosti ovog parametra u datotekama default.json i local.json su različite.
| string | "" |
wopi.refreshLockInterval
| Definiše interval u minutima za osvežavanje zaključavanja fajla resetovanjem automatskog tajmera isteka na 30 minuta. | string | "10m" |
wopi.dummy
| Definiše svojstva lažnih rukovalaca za testiranje opterećenja. | objekat | |
wopi.dummy.enable
| Definiše da li su lažni rukovaoci omogućeni ili ne. | boolean | false |
wopi.dummy.sampleFilePath
| Definiše lažnu putanju do uzorka fajla. | string | "" |
Ovi parametri definišu konfiguraciju WOPI protokola.
Primer
"wopi": {
"enable": false,
"host": "",
"htmlTemplate": "../../web-apps/apps/api/wopi",
"wopiZone": "external-http",
"favIconUrlWord": "/web-apps/apps/documenteditor/main/resources/img/favicon.ico",
"favIconUrlCell": "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico",
"favIconUrlSlide": "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico",
"favIconUrlPdf": "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico",
"favIconUrlDiagram": "/web-apps/apps/visioeditor/main/resources/img/favicon.ico",
"fileInfoBlockList": ["FileUrl"],
"pdfView": ["djvu", "xps", "oxps"],
"pdfEdit": ["pdf"],
"forms": ["pdf"],
"wordView": ["doc", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt", "pages", "docxf", "oform", "hwp", "hwpx", "md", "hml"],
"wordEdit": ["docx", "dotx", "docm", "odt", "txt"],
"cellView": ["xls", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett", "numbers"],
"cellEdit": ["xlsx", "xlsb", "xltx", "xlsm", "ods", "csv"],
"slideView": ["ppt", "ppsx", "ppsm", "pps", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt", "key", "odg"],
"slideEdit": ["pptx", "potx", "pptm", "odp"],
"diagramView": ["vsdx", "vstx", "vssx", "vsdm", "vstm", "vssm"],
"diagramEdit": [],
"publicKey": "",
"modulus": "",
"exponent": 65537,
"privateKey": "",
"publicKeyOld": "",
"modulusOld": "",
"exponentOld": 65537,
"privateKeyOld": "",
"refreshLockInterval": "10m",
"dummy": {
"enable": false,
"sampleFilePath": ""
}
}
Tenanti
| Parametar | Opis | Tip | Podrazumevano |
|---|
tenants.baseDir
| Definiše direktorijum koji ograničava fajlove kojima ONLYOFFICE Docs može pristupiti. | string | "" |
tenants.baseDomain
| Definiše osnovno ime domena tenanta. | string | "" |
tenants.filenameConfig
|
Definiše ime konfiguracione datoteke u folderu tenanta za nadjačavanje default.json. Koristi se u režimu sa više tenanata
za inicijalizaciju specifičnih postavki tenanta (wopi, ipfilter, jwt tajna itd.).
| string | "config.json" |
tenants.filenameSecret
| Definiše .pem ime datoteke gde je sačuvan tajni ključ tenanta. | string | "secret.key" |
tenants.filenameLicense
| Definiše ime datoteke gde je sačuvana licenca tenanta. | string | "license.lic" |
tenants.defaultTenant
| Definiše ime domena podrazumevanog tenanta. | string | "localhost" |
tenants.cache
| Definiše svojstva keša za čitanje licence i tajne u režimu sa više tenanata. | objekat | |
tenants.cache.stdTTL
| Definiše TTL (vreme trajanja) za svaki generisani element keša (meri se u sekundama). | celo broj | 300 |
tenants.cache.checkperiod
| Definiše period korišćen za interval automatskog brisanja (meri se u sekundama). | celo broj | 60 |
tenants.cache.useClones
| Definiše da li će keširane promenljive biti klonirane ili ne. Ako je true, biće kreirana kopija keširane promenljive. Ako je false, biće sačuvana samo referenca. | boolean | false |
Ovi parametri definišu svojstva zakupaca za rad u multi-tenant režimu.
Primer
"tenants": {
"baseDir" : "",
"baseDomain" : "",
"filenameConfig" : "config.json",
"filenameSecret" : "secret.key",
"filenameLicense" : "license.lic",
"defaultTenant" : "localhost",
"cache": {
"stdTTL": 300,
"checkperiod": 60,
"useClones": false
},
}
Eksterni zahtev
| Parametar | Opis | Tip | Podrazumevano |
|---|
externalRequest.directIfIn
| Definiše IP adrese koje su dozvoljene za direktne zahteve. | object | |
externalRequest.directIfIn.allowList
| Definiše listu IP adresa koje su pouzdane za direktne zahteve. | list | [] |
externalRequest.directIfIn.jwtToken
| Definiše da li su pouzdane IP adrese u JWT ili ne. | boolean | true |
externalRequest.action
| Definiše opcije za eksterne zahteve. | object | |
externalRequest.action.allow
| Definiše da li su eksterni zahtevi dozvoljeni ili ne. | boolean | true |
externalRequest.action.blockPrivateIP
| Definiše da li će privatna IP adresa biti blokirana ili ne. | boolean | true |
externalRequest.action.proxyUrl
| Definiše proxy URL. | string | "" |
externalRequest.action.proxyUser
| Definiše parametre autentifikacije za proxy. | object | |
externalRequest.action.proxyUser.username
| Definiše korisničko ime za autentifikaciju proxy-ja. | string | "" |
externalRequest.action.proxyUser.password
| Definiše lozinku za autentifikaciju proxy-ja. | string | "" |
| Definiše zaglavlja za proxy. | object | {} |
Ovi parametri definišu konfiguraciju eksternih zahteva.
Primer
"externalRequest": {
"directIfIn" : {
"allowList": [],
"jwtToken": true
},
"action": {
"allow": true,
"blockPrivateIP": true,
"proxyUrl": "",
"proxyUser": {
"username": "",
"password": ""
},
"proxyHeaders": {
}
}
}
Usluge Document Server-a
Ovi parametri definišu podešavanja za usluge Document Server-a.
| Parametar | Opis | Tip | Podrazumevano |
|---|
services.CoAuthoring
| Definiše podešavanja za sesiju zajedničkog uređivanja. | object | |
Server
| Parametar | Opis | Tip | Podrazumevano |
|---|
services.CoAuthoring.server.port
| Definiše port servera. | integer | 8000 |
services.CoAuthoring.server.workerpercpu
| Definiše broj radnih niti po CPU. | integer | 1 |
services.CoAuthoring.server.mode
| Definiše režim rada servera. | string | "development" |
services.CoAuthoring.server.limits_tempfile_upload
| Definiše maksimalnu veličinu za sve privremeno otpremljene datoteke koje koristi svaki proces (mereno u bajtovima). | integer | 104857600 |
services.CoAuthoring.server.limits_image_size
| Definiše maksimalnu veličinu za sve slike otpremljene u svakom procesu (mereno u bajtovima). | integer | 26214400 |
services.CoAuthoring.server.limits_image_download_timeout
| Definiše svojstva tajmauta za preuzimanje slika. | object | |
services.CoAuthoring.server.limits_image_download_timeout.connectionAndInactivity
|
Definiše period koji specificira dva tajmauta:
- tajmaut čitanja - vreme čekanja da server pošalje zaglavlja odgovora (i započne telo odgovora) pre nego što se zahtev prekine;
- tajmaut konekcije - postavlja tajmaut soketa nakon perioda neaktivnosti. Napomena: povećanje tajmauta iznad OS-širokog TCP tajmauta konekcije neće imati efekta.
Ovaj parametar se šalje npm modulu.
| string | "2m" |
services.CoAuthoring.server.limits_image_download_timeout.wholeCycle
| Definiše ceo ciklus zahteva - period od početka preuzimanja do kompletnog preuzimanja. | string | "2m" |
services.CoAuthoring.server.callbackRequestTimeout
| Definiše svojstva tajmauta za zahteve povratnog poziva. | object | |
services.CoAuthoring.server.callbackRequestTimeout.connectionAndInactivity
|
Definiše period koji specificira dva vremenska ograničenja:
- vremensko ograničenje za čitanje - vreme čekanja da server pošalje zaglavlja odgovora (i započne telo odgovora) pre nego što se zahtev prekine;
- vremensko ograničenje za konekciju - postavlja vreme isteka za soket nakon neaktivnosti. Imajte na umu da povećanje vremenskog ograničenja iznad OS-širokog TCP vremenskog ograničenja za konekciju neće imati nikakav efekat.
Ovaj parametar se šalje npm modulu.
| string | "10m" |
services.CoAuthoring.server.callbackRequestTimeout.wholeCycle
| Definiše vremensko ograničenje za ceo ciklus zahteva. | string | "10m" |
services.CoAuthoring.server.healthcheckfilepath
| Definiše putanju na koju će biti poslati zahtevi za proveru zdravlja. | string | "../public/healthcheck.docx" |
services.CoAuthoring.server.savetimeoutdelay
| Definiše vreme kašnjenja početka konverzije (mereno u milisekundama) nakon što je uređena datoteka zatvorena. | integer | 5000 |
services.CoAuthoring.server.edit_singleton
| Definiše da li se singleton može uređivati ili ne. | boolean | false |
services.CoAuthoring.server.forgottenfiles
| Definiše naziv foldera u kojem se čuvaju sve zaboravljene datoteke. | string | "forgotten" |
services.CoAuthoring.server.forgottenfilesname
| Definiše naziv zaboravljene datoteke. | string | "output" |
services.CoAuthoring.server.maxRequestChanges
| Definiše maksimalnu veličinu promena zahteva. | integer | 20000 |
services.CoAuthoring.server.openProtectedFile
| Definiše da li se datoteke zaštićene lozinkom mogu otvoriti ili ne. | boolean | true |
services.CoAuthoring.server.isAnonymousSupport
| Definiše da li anonimni korisnici imaju pristup uredniku ili gledaocima uživo ili ne. | boolean | true |
services.CoAuthoring.server.editorDataStorage
| Definiše skladište podataka urednika. Moguće vrednosti: "editorDataRedis", "". | string | "editorDataRedis" |
services.CoAuthoring.server.editorStatStorage
| Definiše skladište podataka urednika za izračunavanje licence i statistike (lokalna memorija ili redis). Moguće vrednosti su "editorDataMemory", "editorDataRedis", ili "". Podrazumevana vrednost "" znači da će se koristiti vrednost parametra editorDataStorage. Ovaj parametar se prvenstveno koristi za šardovani klaster. | string | "" |
services.CoAuthoring.server.assemblyFormatAsOrigin
| Definiše da li se sastavljena datoteka čuva u svom originalnom formatu ili ne. | boolean | true |
services.CoAuthoring.server.newFileTemplate
| Definiše putanju do šablona "nove" datoteke ako je primljena datoteka od 0 bajtova sa linka za otvaranje. | string | "../../document-templates/new" |
services.CoAuthoring.server.downloadFileAllowExt
| Definiše ekstenzije koje je dozvoljeno preuzeti putem downloadFile handler-a. | array of strings | ["pdf", "xlsx"] |
services.CoAuthoring.server.tokenRequiredParams
| Definiše da li će potrebni parametri tokena biti validirani. Ovo je potrebno zbog sigurnosti. Na primer, token za konverziju neće biti korišćen za otvaranje dokumenta. | boolean | true |
services.CoAuthoring.server.forceSaveUsingButtonWithoutChanges
| Definiše da li se datoteka bez ikakvih promena može prisilno sačuvati klikom na dugme Sačuvaj. | boolean | false |
Ovi parametri definišu konfiguraciju servera.
Primer
"services": {
"CoAuthoring": {
"server": {
"port": 8000,
"workerpercpu": 1,
"mode": "development",
"limits_tempfile_upload": 104857600,
"limits_image_size": 26214400,
"limits_image_download_timeout": {
"connectionAndInactivity": "2m",
"wholeCycle": "2m"
},
"callbackRequestTimeout": {
"connectionAndInactivity": "10m",
"wholeCycle": "10m"
},
"healthcheckfilepath": "../public/healthcheck.docx",
"savetimeoutdelay": 5000,
"edit_singleton": false,
"forgottenfiles": "forgotten",
"forgottenfilesname": "output",
"maxRequestChanges": 20000,
"openProtectedFile": true,
"isAnonymousSupport": true,
"editorDataStorage": "editorDataRedis",
"editorStatStorage": "",
"assemblyFormatAsOrigin": true,
"newFileTemplate" : "../../document-templates/new",
"downloadFileAllowExt": ["pdf", "xlsx"],
"tokenRequiredParams": true,
"forceSaveUsingButtonWithoutChanges": false
}
}
}
Podrazumevani zahtev
| Parametar | Opis | Tip | Podrazumevano |
|---|
| Definiše podrazumevana HTTP zaglavlja zahteva. | object | |
| Definiše podrazumevano zaglavlje zahteva User-Agent. | string | "Node.js/6.13" |
| Definiše podrazumevano zaglavlje zahteva Connection. | string | "Keep-Alive" |
services.CoAuthoring.requestDefault.rejectUnauthorized
| Definiše da li će sertifikati biti verifikovani od strane Document Server-a ili ne. | boolean | true |
Ovi parametri definišu podrazumevanu konfiguraciju zahteva.
Primer
"services": {
"CoAuthoring": {
"requestDefaults": {
"headers": {
"User-Agent": "Node.js/6.13",
"Connection": "Keep-Alive"
},
"rejectUnauthorized": true
}
}
}
Automatsko sastavljanje
| Parametar | Opis | Tip | Podrazumevano |
|---|
services.CoAuthoring.autoAssembly.enable
| Definiše da li je automatsko forsirano čuvanje omogućeno ili ne. | boolean | false |
services.CoAuthoring.autoAssembly.interval
| Definiše vremenski interval u minutima za pokretanje automatskog forsiranog čuvanja. | string | "5m" |
services.CoAuthoring.autoAssembly.step
| Definiše kašnjenje u minutima između intervala. | string | "1m" |
Ovi parametri definišu konfiguraciju automatskog forsiranog čuvanja.
Automatsko forsirano čuvanje će biti pokrenuto samo nakon što su napravljene neke izmene u dokumentu. Prazne verzije neće biti automatski sačuvane. Pored toga, verzionisanje fajlova mora biti implementirano na strani sistema za upravljanje dokumentima da bi ovaj parametar funkcionisao.
Primer
"services": {
"CoAuthoring": {
"autoAssembly": {
"enable": false,
"interval": "5m",
"step": "1m"
}
}
}
Alati
| Parametar | Opis | Tip | Podrazumevano |
|---|
services.CoAuthoring.utils.utils_common_fontdir
| Definiše direktorijum gde su svi fontovi smešteni. | string | "null" |
services.CoAuthoring.utils.utils_fonts_search_patterns
| Definiše obrasce za pretragu font fajlova odgovarajućih ekstenzija. | string | "*.ttf;*.ttc;*.otf" |
services.CoAuthoring.utils.limits_image_types_upload
| Definiše podržane formate slika za otpremanje. | string | "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif" |
Ovi parametri definišu konfiguraciju alata.
Primer
"services": {
"CoAuthoring": {
"utils": {
"utils_common_fontdir": "null",
"utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
"limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"
}
}
}
SQL
| Parametar | Opis | Tip | Podrazumevano |
|---|
services.CoAuthoring.sql.type
| Definiše tip baze podataka (mysql, mariadb, mssql, postgres, dameng, oracle). | string | "postgres" |
services.CoAuthoring.sql.tableChanges
| Definiše naziv tabele baze podataka gde su sve izmene dokumenta sačuvane. | string | "doc_changes" |
services.CoAuthoring.sql.tableResult
| Definiše naziv tabele baze podataka gde je rezultat upita sačuvan. | string | "task_result" |
services.CoAuthoring.sql.dbHost
| Definiše host servera baze podataka (naziv hosta ili IP adresa). | string | "localhost" |
services.CoAuthoring.sql.dbPort
| Definiše port servera baze podataka. | integer | 5432 |
services.CoAuthoring.sql.dbName
| Definiše naziv baze podataka koja će biti kreirana pri pokretanju slike. | string | "onlyoffice" |
services.CoAuthoring.sql.dbUser
| Definiše novo korisničko ime sa superuser dozvolama za nalog baze podataka. | string | "onlyoffice" |
services.CoAuthoring.sql.dbPass
| Definiše lozinku postavljenu za nalog baze podataka. | string | "onlyoffice" |
services.CoAuthoring.sql.charset
| Definiše karakterni set baze podataka. | string | "utf8" |
services.CoAuthoring.sql.connectionlimit
| Definiše maksimalan broj istovremenih korisničkih konekcija na server baze podataka. | integer | 10 |
services.CoAuthoring.sql.max_allowed_packet
| Definiše maksimalnu veličinu podataka koja može biti poslata u jednom zahtevu. | integer | 1048575 |
| Definiše parametre koji mogu biti direktno prosleđeni node-postgres pool biblioteci. | object | |
| Definiše broj milisekundi koliko klijent mora ostati neaktivan u pool-u i ne biti preuzet pre nego što se diskonektuje sa backend-a i odbaci. Postavite na 0 da onemogućite automatsko diskonektovanje neaktivnih klijenata. | integer | 30000 |
| Definiše broj sekundi koji predstavlja maksimalno trajanje. | integer | 60000 |
| Definiše broj milisekundi pre nego što upit istekne. | integer | 60000 |
| Definiše broj milisekundi pre nego što poziv upita istekne. | integer | 60000 |
| Definiše broj milisekundi za čekanje na konekciju. | integer | 60000 |
| Definiše parametre Dameng baze podataka. | object | |
services.CoAuthoring.sql.damengExtraOptions.columnNameUpperCase
| Definiše da li su imena kolona velikim slovima ili ne. | boolean | false |
services.CoAuthoring.sql.damengExtraOptions.columnNameCase
| Definiše slučaj imena kolona. | string | "lower" |
| Definiše broj milisekundi za čekanje na konekciju. | integer | 60000 |
| Definiše da li je enkripcija prilikom prijave omogućena ili ne. | boolean | false |
| Definiše lokalnu vremensku zonu. | integer | 0 |
| Definiše broj sekundi nakon kojih pool prekida neaktivne konekcije (neiskorišćene u pool-u). | integer | 60 |
| Definiše broj milisekundi kada zahtev za konekciju od strane klijenta ili servera ne dobija odgovor sa druge strane. | integer | 60000 |
| Definiše broj milisekundi kada se poruke zadržavaju u redu pre nego što budu odbačene. | integer | 60000 |
| Definiše parametre Oracle baze podataka. | object | |
| Definiše konekciju sa Oracle u Thick modu koristeći Oracle Instant Client u klasteru. | boolean | true |
| Definiše broj sekundi za čekanje na konekciju. | integer | 60 |
| Definiše parametre MS SQL baze podataka. | object | |
| Definiše opcije MS SQL baze podataka. | object | |
| Definiše da li će podaci biti enkriptovani pre slanja preko mreže. | boolean | false |
| Definiše da li se enkripcija dešava kada nema verifikovanog sertifikata servera. | boolean | true |
| Definiše parametre pool-a konekcije. | object | |
| Definiše broj milisekundi koliko klijent mora ostati neaktivan u pool-u i ne biti preuzet pre nego što bude diskonektovan sa backend-a i odbačen. Postavite na 0 da onemogućite automatsku diskonekciju neaktivnih klijenata. | integer | 30000 |
| Definiše parametre konekcije MySQL baze podataka (uključujući SSL postavke) koji se mogu direktno proslediti node-mysql2 modulu. | object | |
| Definiše broj milisekundi za čekanje na konekciju. | integer | 60000 |
| Definiše broj milisekundi pre nego što poziv upita istekne. | integer | 60000 |
Ovi parametri definišu konfiguraciju baze podataka.
Primer
"services": {
"CoAuthoring": {
"sql": {
"type": "postgres",
"tableChanges": "doc_changes",
"tableResult": "task_result",
"dbHost": "localhost",
"dbPort": 5432,
"dbName": "onlyoffice",
"dbUser": "onlyoffice",
"dbPass": "onlyoffice",
"charset": "utf8",
"connectionlimit": 10,
"max_allowed_packet": 1048575,
"pgPoolExtraOptions": {
"idleTimeoutMillis": 30000,
"maxLifetimeSeconds": 60000,
"statement_timeout": 60000,
"query_timeout": 60000,
"connectionTimeoutMillis": 60000
},
"damengExtraOptions": {
"columnNameUpperCase": false,
"columnNameCase": "lower",
"connectTimeout": 60000,
"loginEncrypt": false,
"localTimezone": 0,
"poolTimeout": 60,
"socketTimeout": 60000,
"queueTimeout": 60000
},
"oracleExtraOptions": {
"thin": true,
"connectTimeout": 60
},
"msSqlExtraOptions": {
"options": {
"encrypt": false,
"trustServerCertificate": true
},
"pool": {
"idleTimeoutMillis": 30000
}
},
"mysqlExtraOptions": {
"connectTimeout": 60000,
"queryTimeout": 60000
}
}
}
}
Konverter
| Parametar | Opis | Tip | Podrazumevano |
|---|
FileConverter.converter
| Definiše svojstva konvertera. | object | |
FileConverter.converter.maxDownloadBytes
| Definiše maksimalnu veličinu fajla koji se zahteva (izraženo u bajtovima). | integer | 104857600 |
FileConverter.converter.downloadTimeout
| Definiše svojstva vremenskog ograničenja za preuzimanje konvertovanog fajla. | object | |
FileConverter.converter.downloadTimeout.connectionAndInactivity
|
Definiše period koji specificira dva vremenska ograničenja:
- vremensko ograničenje za čitanje - vreme čekanja da server pošalje zaglavlja odgovora (i započne telo odgovora) pre nego što se zahtev prekine;
- vremensko ograničenje za povezivanje - postavlja vremensko ograničenje za soket nakon perioda neaktivnosti. Imajte na umu da povećanje vremenskog ograničenja iznad sistemskog TCP vremenskog ograničenja neće imati efekta.
Ovaj parametar se šalje npm modulu.
| string | "2m" |
FileConverter.converter.downloadTimeout.wholeCycle
| Definiše vremensko ograničenje za ceo ciklus zahteva. | string | "2m" |
FileConverter.converter.downloadAttemptMaxCount
| Definiše maksimalan broj pokušaja preuzimanja konvertovanog fajla. | integer | 3 |
FileConverter.converter.downloadAttemptDelay
| Definiše kašnjenje između pokušaja preuzimanja konvertovanog fajla. | integer | 1000 |
FileConverter.converter.maxprocesscount
| Definiše maksimalan broj procesa konverzije koji mogu biti aktivni u jednom trenutku. | integer | 1 |
FileConverter.converter.fontDir
| Definiše putanju do foldera sa fontovima. | string | "null" |
FileConverter.converter.presentationThemesDir
| Definiše putanju do foldera sa temama za prezentacije. | string | "null" |
FileConverter.converter.x2tPath
| Definiše putanju do x2t konvertera fajlova. | string | "null" |
FileConverter.converter.docbuilderPath
| Definiše putanju do aplikacije Document Builder. | string | "null" |
FileConverter.converter.args
| Definiše dodatne parametre za pokretanje x2t. | string | "" |
FileConverter.converter.spawnOptions
| Definiše parametre koji se mogu direktno proslediti node.js child_process.spawn biblioteci (samo za pokretanje x2t). | object | {} |
FileConverter.converter.errorfiles
| Definiše putanju do fajlova sa greškama. | string | "" |
FileConverter.converter.streamWriterBufferSize
| Definiše veličinu StreamWriter bafera. | integer | 8388608 |
FileConverter.converter.maxRedeliveredCount
| Definiše maksimalan broj ponovnih isporuka poruka. | integer | 2 |
FileConverter.converter.inputLimits
| Definiše ograničenja za ulazne fajlove. | object | |
FileConverter.converter.inputLimits.type
| Definiše OOXML tipove fajlova za koje su ograničenja specificirana (tekstualni dokumenti/tabele/prezentacije). Ovo ne uključuje druge objekte, kao što su slike. | string | "docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm" |
FileConverter.converter.inputLimits.zip
| Definiše svojstva zip arhive. | object | |
FileConverter.converter.inputLimits.zip.uncompressed
| Definiše ukupnu veličinu dekompresovanih fajlova za tekstualne dokumente/tabele/prezentacije. | string | "50MB"/"300MB"/"50MB" |
FileConverter.converter.inputLimits.zip.template
| Definiše šablon imena za fajlove čije se veličine računaju. | string | "*.xml" |
Ovi parametri definišu konfiguraciju konvertera fajlova.
Primer
"FileConverter": {
"converter": {
"maxDownloadBytes": 104857600,
"downloadTimeout": {
"connectionAndInactivity": "2m",
"wholeCycle": "2m"
},
"downloadAttemptMaxCount": 3,
"downloadAttemptDelay": 1000,
"maxprocesscount": 1,
"fontDir": "null",
"presentationThemesDir": "null",
"x2tPath": "null",
"docbuilderPath": "null",
"args": "",
"spawnOptions": {},
"errorfiles": "",
"streamWriterBufferSize": 8388608,
"maxRedeliveredCount": 2,
"inputLimits": [
{
"type": "docx;dotx;docm;dotm",
"zip": {
"uncompressed": "50MB",
"template": "*.xml"
}
},
{
"type": "xlsx;xltx;xlsm;xltm",
"zip": {
"uncompressed": "300MB",
"template": "*.xml"
}
},
{
"type": "pptx;ppsx;potx;pptm;ppsm;potm",
"zip": {
"uncompressed": "50MB",
"template": "*.xml"
}
}
]
}
}