server/config/config.schema.json
Jesse Wierzbinski 1fba91f772
Some checks failed
CodeQL Scan / Analyze (javascript-typescript) (push) Failing after 0s
Build Docker Images / lint (push) Failing after 8s
Build Docker Images / check (push) Failing after 7s
Build Docker Images / tests (push) Failing after 8s
Deploy Docs to GitHub Pages / build (push) Failing after 0s
Build Docker Images / build (server, Dockerfile, ${{ github.repository_owner }}/server) (push) Has been skipped
Build Docker Images / build (worker, Worker.Dockerfile, ${{ github.repository_owner }}/worker) (push) Has been skipped
Deploy Docs to GitHub Pages / Deploy (push) Has been skipped
Mirror to Codeberg / Mirror (push) Failing after 0s
Nix Build / check (push) Failing after 0s
Test Publish / build (client) (push) Failing after 0s
Test Publish / build (sdk) (push) Failing after 0s
chore(config): 👽 Update JSON schema files
2025-05-28 03:06:49 +02:00

2852 lines
132 KiB
JSON

{
"type": "object",
"properties": {
"postgres": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"default": "localhost"
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"default": 5432
},
"username": {
"type": "string",
"minLength": 1
},
"password": {
"type": "string",
"description": "You can use PATH:/path/to/file to load this value from a file",
"default": ""
},
"database": {
"type": "string",
"minLength": 1,
"default": "versia"
},
"replicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1
},
"port": {
"$ref": "#/properties/postgres/properties/port",
"default": 5432
},
"username": {
"type": "string",
"minLength": 1
},
"password": {
"$ref": "#/properties/postgres/properties/password",
"default": "",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"database": {
"type": "string",
"minLength": 1,
"default": "versia"
}
},
"required": ["host", "username"],
"additionalProperties": false
},
"description": "Additional read-only replicas",
"default": []
}
},
"required": ["username"],
"additionalProperties": false,
"description": "PostgreSQL database configuration"
},
"redis": {
"type": "object",
"properties": {
"queue": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"default": "localhost"
},
"port": {
"$ref": "#/properties/postgres/properties/port",
"default": 6379
},
"password": {
"$ref": "#/properties/postgres/properties/password",
"default": "",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"database": {
"type": "integer",
"default": 0
}
},
"additionalProperties": false,
"description": "A Redis database used for managing queues."
},
"cache": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"default": "localhost"
},
"port": {
"$ref": "#/properties/postgres/properties/port",
"default": 6379
},
"password": {
"$ref": "#/properties/postgres/properties/password",
"default": "",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"database": {
"type": "integer",
"default": 1
}
},
"additionalProperties": false,
"description": "A Redis database used for caching SQL queries. Optional."
}
},
"required": ["queue"],
"additionalProperties": false,
"description": "Redis configuration. Used for queues and caching."
},
"search": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable indexing and searching?"
},
"sonic": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"default": "localhost"
},
"port": {
"$ref": "#/properties/postgres/properties/port",
"default": 7700
},
"password": {
"$ref": "#/properties/postgres/properties/password"
}
},
"required": ["password"],
"additionalProperties": false,
"description": "Sonic database configuration"
}
},
"additionalProperties": false,
"description": "Search and indexing configuration"
},
"registration": {
"type": "object",
"properties": {
"allow": {
"type": "boolean",
"default": true,
"description": "Can users sign up freely?"
},
"require_approval": {
"type": "boolean",
"default": false
},
"message": {
"type": "string",
"description": "Message to show to users when registration is disabled"
}
},
"additionalProperties": false
},
"http": {
"type": "object",
"properties": {
"base_url": {
"type": "string",
"minLength": 1,
"description": "URL that the instance will be accessible at"
},
"bind": {
"type": "string",
"minLength": 1,
"default": "0.0.0.0"
},
"bind_port": {
"$ref": "#/properties/postgres/properties/port",
"default": 8080
},
"banned_ips": {
"type": "array",
"items": {
"type": "string",
"description": "An IPv6/v4 address or CIDR range. Wildcards are also allowed"
},
"default": []
},
"banned_user_agents": {
"type": "array",
"items": {
"type": "string",
"description": "JavaScript regular expression"
},
"default": []
},
"proxy_address": {
"$ref": "#/properties/http/properties/base_url",
"description": "URL to an eventual HTTP proxy"
},
"tls": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "This value must be a file path"
},
"cert": {
"$ref": "#/properties/http/properties/tls/properties/key"
},
"passphrase": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"ca": {
"$ref": "#/properties/http/properties/tls/properties/key",
"description": "This value must be a file path"
}
},
"required": ["key", "cert"],
"additionalProperties": false,
"description": "TLS configuration. You should probably be using a reverse proxy instead of this"
}
},
"required": ["base_url"],
"additionalProperties": false
},
"frontend": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"path": {
"type": "string",
"default": "frontend"
},
"routes": {
"type": "object",
"properties": {
"home": {
"type": "string",
"minLength": 1,
"default": "/"
},
"login": {
"$ref": "#/properties/frontend/properties/routes/properties/home",
"default": "/oauth/authorize"
},
"consent": {
"$ref": "#/properties/frontend/properties/routes/properties/home",
"default": "/oauth/consent"
},
"register": {
"$ref": "#/properties/frontend/properties/routes/properties/home",
"default": "/register"
},
"password_reset": {
"$ref": "#/properties/frontend/properties/routes/properties/home",
"default": "/oauth/reset"
}
},
"additionalProperties": false
},
"settings": {
"type": "object",
"additionalProperties": {},
"default": {}
}
},
"required": ["routes"],
"additionalProperties": false
},
"email": {
"type": "object",
"properties": {
"send_emails": {
"type": "boolean",
"default": false
},
"smtp": {
"type": "object",
"properties": {
"server": {
"type": "string",
"minLength": 1
},
"port": {
"$ref": "#/properties/postgres/properties/port",
"default": 465
},
"username": {
"type": "string",
"minLength": 1
},
"password": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"tls": {
"type": "boolean",
"default": true
}
},
"required": ["server", "username"],
"additionalProperties": false
}
},
"additionalProperties": false
},
"media": {
"type": "object",
"properties": {
"backend": {
"type": "string",
"enum": ["local", "s3"],
"default": "local"
},
"uploads_path": {
"type": "string",
"minLength": 1,
"default": "uploads"
},
"conversion": {
"type": "object",
"properties": {
"convert_images": {
"type": "boolean",
"default": false
},
"convert_to": {
"type": "string",
"default": "image/webp"
},
"convert_vectors": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}
},
"required": ["conversion"],
"additionalProperties": false
},
"s3": {
"type": "object",
"properties": {
"endpoint": {
"$ref": "#/properties/http/properties/proxy_address"
},
"access_key": {
"$ref": "#/properties/postgres/properties/password"
},
"secret_access_key": {
"$ref": "#/properties/postgres/properties/password"
},
"region": {
"type": "string"
},
"bucket_name": {
"type": "string"
},
"public_url": {
"$ref": "#/properties/http/properties/base_url",
"description": "Public URL that uploaded media will be accessible at"
},
"path": {
"type": "string"
},
"path_style": {
"type": "boolean",
"default": true
}
},
"required": [
"endpoint",
"access_key",
"secret_access_key",
"public_url"
],
"additionalProperties": false
},
"validation": {
"type": "object",
"properties": {
"accounts": {
"type": "object",
"properties": {
"max_displayname_characters": {
"type": "integer",
"minimum": 0,
"default": 50
},
"max_username_characters": {
"type": "integer",
"minimum": 0,
"default": 30
},
"max_bio_characters": {
"type": "integer",
"minimum": 0,
"default": 5000
},
"max_avatar_bytes": {
"type": "integer",
"minimum": 0,
"default": 5000000
},
"max_header_bytes": {
"type": "integer",
"minimum": 0,
"default": 5000000
},
"disallowed_usernames": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": [
"well-known",
"about",
"activities",
"api",
"auth",
"dev",
"inbox",
"internal",
"main",
"media",
"nodeinfo",
"notice",
"oauth",
"objects",
"proxy",
"push",
"registration",
"relay",
"settings",
"status",
"tag",
"users",
"web",
"search",
"mfa"
]
},
"max_field_count": {
"type": "integer",
"default": 10
},
"max_field_name_characters": {
"type": "integer",
"default": 1000
},
"max_field_value_characters": {
"type": "integer",
"default": 1000
},
"max_pinned_notes": {
"type": "integer",
"default": 20
}
},
"additionalProperties": false
},
"notes": {
"type": "object",
"properties": {
"max_characters": {
"type": "integer",
"minimum": 0,
"default": 5000
},
"allowed_url_schemes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"http",
"https",
"ftp",
"dat",
"dweb",
"gopher",
"hyper",
"ipfs",
"ipns",
"irc",
"xmpp",
"ircs",
"magnet",
"mailto",
"mumble",
"ssb",
"gemini"
]
},
"max_attachments": {
"type": "integer",
"default": 16
}
},
"additionalProperties": false
},
"media": {
"type": "object",
"properties": {
"max_bytes": {
"type": "integer",
"minimum": 0,
"default": 40000000
},
"max_description_characters": {
"type": "integer",
"minimum": 0,
"default": 1000
},
"allowed_mime_types": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"application/vnd.lotus-1-2-3",
"model/step",
"application/andrew-inset",
"application/appinstaller",
"application/applixware",
"application/appx",
"application/appxbundle",
"application/atom+xml",
"application/atomcat+xml",
"application/atomdeleted+xml",
"application/atomsvc+xml",
"application/atsc-dwd+xml",
"application/atsc-held+xml",
"application/atsc-rsat+xml",
"application/automationml-aml+xml",
"application/automationml-amlx+zip",
"application/bdoc",
"application/calendar+xml",
"application/ccxml+xml",
"application/cdfx+xml",
"application/cdmi-capability",
"application/cdmi-container",
"application/cdmi-domain",
"application/cdmi-object",
"application/cdmi-queue",
"application/cpl+xml",
"application/cu-seeme",
"application/cwl",
"application/dash+xml",
"application/dash-patch+xml",
"application/davmount+xml",
"application/dicom",
"application/docbook+xml",
"application/dssc+der",
"application/dssc+xml",
"application/ecmascript",
"application/emma+xml",
"application/emotionml+xml",
"application/epub+zip",
"application/exi",
"application/express",
"application/fdf",
"application/fdt+xml",
"application/font-tdpfr",
"application/geo+json",
"application/gml+xml",
"application/gpx+xml",
"application/gxf",
"application/gzip",
"application/hjson",
"application/hyperstudio",
"application/inkml+xml",
"application/inkml+xml",
"application/ipfix",
"application/its+xml",
"application/java-archive",
"application/java-archive",
"application/java-archive",
"application/java-serialized-object",
"application/java-vm",
"text/javascript",
"application/json",
"application/json",
"application/json5",
"application/jsonml+json",
"application/ld+json",
"application/lgr+xml",
"application/lost+xml",
"application/mac-binhex40",
"application/mac-compactpro",
"application/mads+xml",
"application/manifest+json",
"application/marc",
"application/marcxml+xml",
"application/mathematica",
"application/mathematica",
"application/mathematica",
"application/mathml+xml",
"application/mbox",
"application/media-policy-dataset+xml",
"application/mediaservercontrol+xml",
"application/metalink+xml",
"application/metalink4+xml",
"application/mets+xml",
"application/mmt-aei+xml",
"application/mmt-usd+xml",
"application/mods+xml",
"application/mp21",
"application/mp21",
"application/mp4",
"application/mp4",
"application/mp4",
"application/mp4",
"application/msix",
"application/msixbundle",
"application/msword",
"application/msword",
"application/mxf",
"application/n-quads",
"application/n-triples",
"application/node",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/x-msdos-program",
"application/x-msdownload",
"application/x-debian-package",
"application/x-apple-diskimage",
"application/x-iso9660-image",
"application/octet-stream",
"application/x-msdownload",
"application/octet-stream",
"application/octet-stream",
"application/octet-stream",
"application/oda",
"application/oebps-package+xml",
"application/ogg",
"application/omdoc+xml",
"application/onenote",
"application/onenote",
"application/onenote",
"application/onenote",
"application/onenote",
"application/onenote",
"application/oxps",
"application/p2p-overlay+xml",
"application/patch-ops-error+xml",
"application/pdf",
"application/pgp-encrypted",
"application/pgp-keys",
"application/pgp-signature",
"application/pics-rules",
"application/pkcs10",
"application/pkcs7-mime",
"application/pkcs7-mime",
"application/pkcs7-signature",
"application/pkcs8",
"application/pkix-attr-cert",
"application/pkix-cert",
"application/pkix-crl",
"application/pkix-pkipath",
"application/pkixcmp",
"application/pls+xml",
"application/postscript",
"application/postscript",
"application/postscript",
"application/provenance+xml",
"application/prs.cww",
"application/prs.xsf+xml",
"application/pskc+xml",
"application/raml+yaml",
"application/rdf+xml",
"application/rdf+xml",
"application/reginfo+xml",
"application/relax-ng-compact-syntax",
"application/resource-lists+xml",
"application/resource-lists-diff+xml",
"application/rls-services+xml",
"application/route-apd+xml",
"application/route-s-tsid+xml",
"application/route-usd+xml",
"application/rpki-ghostbusters",
"application/rpki-manifest",
"application/rpki-roa",
"application/rsd+xml",
"application/rss+xml",
"application/rtf",
"application/sbml+xml",
"application/scvp-cv-request",
"application/scvp-cv-response",
"application/scvp-vp-request",
"application/scvp-vp-response",
"application/sdp",
"application/senml+xml",
"application/sensml+xml",
"application/set-payment-initiation",
"application/set-registration-initiation",
"application/shf+xml",
"application/sieve",
"application/sieve",
"application/smil+xml",
"application/smil+xml",
"application/sparql-query",
"application/sparql-results+xml",
"application/sql",
"application/srgs",
"application/srgs+xml",
"application/sru+xml",
"application/ssdl+xml",
"application/ssml+xml",
"application/swid+xml",
"application/tei+xml",
"application/tei+xml",
"application/thraud+xml",
"application/timestamped-data",
"application/toml",
"application/trig",
"application/ttml+xml",
"application/ubjson",
"application/urc-ressheet+xml",
"application/urc-targetdesc+xml",
"application/vnd.1000minds.decision-model+xml",
"application/vnd.3gpp.pic-bw-large",
"application/vnd.3gpp.pic-bw-small",
"application/vnd.3gpp.pic-bw-var",
"application/vnd.3gpp2.tcap",
"application/vnd.3m.post-it-notes",
"application/vnd.accpac.simply.aso",
"application/vnd.accpac.simply.imp",
"application/vnd.acucobol",
"application/vnd.acucorp",
"application/vnd.acucorp",
"application/vnd.adobe.air-application-installer-package+zip",
"application/vnd.adobe.formscentral.fcdt",
"application/vnd.adobe.fxp",
"application/vnd.adobe.fxp",
"application/vnd.adobe.xdp+xml",
"application/xfdf",
"application/vnd.age",
"application/vnd.ahead.space",
"application/vnd.airzip.filesecure.azf",
"application/vnd.airzip.filesecure.azs",
"application/vnd.amazon.ebook",
"application/vnd.americandynamics.acc",
"application/vnd.amiga.ami",
"application/vnd.android.package-archive",
"application/vnd.anser-web-certificate-issue-initiation",
"application/vnd.anser-web-funds-transfer-initiation",
"application/vnd.antix.game-component",
"application/vnd.apple.installer+xml",
"application/vnd.apple.keynote",
"application/vnd.apple.mpegurl",
"application/vnd.apple.numbers",
"application/vnd.apple.pages",
"application/vnd.apple.pkpass",
"application/vnd.aristanetworks.swi",
"application/vnd.astraea-software.iota",
"application/vnd.audiograph",
"application/vnd.autodesk.fbx",
"application/vnd.balsamiq.bmml+xml",
"application/vnd.blueice.multipass",
"application/vnd.bmi",
"application/vnd.businessobjects",
"application/vnd.chemdraw+xml",
"application/vnd.chipnuts.karaoke-mmd",
"application/vnd.cinderella",
"application/vnd.citationstyles.style+xml",
"application/vnd.claymore",
"application/vnd.cloanto.rp9",
"application/vnd.clonk.c4group",
"application/vnd.clonk.c4group",
"application/vnd.clonk.c4group",
"application/vnd.clonk.c4group",
"application/vnd.clonk.c4group",
"application/vnd.cluetrust.cartomobile-config",
"application/vnd.cluetrust.cartomobile-config-pkg",
"application/vnd.commonspace",
"application/vnd.contact.cmsg",
"application/vnd.cosmocaller",
"application/vnd.crick.clicker",
"application/vnd.crick.clicker.keyboard",
"application/vnd.crick.clicker.palette",
"application/vnd.crick.clicker.template",
"application/vnd.crick.clicker.wordbank",
"application/vnd.criticaltools.wbs+xml",
"application/vnd.ctc-posml",
"application/vnd.cups-ppd",
"application/vnd.curl.car",
"application/vnd.curl.pcurl",
"application/vnd.dart",
"application/vnd.data-vision.rdz",
"application/vnd.dbf",
"application/vnd.dcmp+xml",
"application/vnd.dece.data",
"application/vnd.dece.data",
"application/vnd.dece.data",
"application/vnd.dece.data",
"application/vnd.dece.ttml+xml",
"application/vnd.dece.ttml+xml",
"application/vnd.dece.unspecified",
"application/vnd.dece.unspecified",
"application/vnd.dece.zip",
"application/vnd.dece.zip",
"application/vnd.denovo.fcselayout-link",
"application/vnd.dna",
"application/vnd.dolby.mlp",
"application/vnd.dpgraph",
"application/vnd.dreamfactory",
"application/vnd.ds-keypoint",
"application/vnd.dvb.ait",
"application/vnd.dvb.service",
"application/vnd.dynageo",
"application/vnd.ecowin.chart",
"application/vnd.enliven",
"application/vnd.epson.esf",
"application/vnd.epson.msf",
"application/vnd.epson.quickanime",
"application/vnd.epson.salt",
"application/vnd.epson.ssf",
"application/vnd.eszigno3+xml",
"application/vnd.eszigno3+xml",
"application/vnd.ezpix-album",
"application/vnd.ezpix-package",
"application/vnd.fdsn.mseed",
"application/vnd.fdsn.seed",
"application/vnd.fdsn.seed",
"application/vnd.flographit",
"application/vnd.fluxtime.clip",
"application/vnd.framemaker",
"application/vnd.framemaker",
"application/vnd.framemaker",
"application/vnd.framemaker",
"application/vnd.frogans.fnc",
"application/vnd.frogans.ltf",
"application/vnd.fsc.weblaunch",
"application/vnd.fujitsu.oasys",
"application/vnd.fujitsu.oasys2",
"application/vnd.fujitsu.oasys3",
"application/vnd.fujitsu.oasysgp",
"application/vnd.fujitsu.oasysprs",
"application/vnd.fujixerox.ddd",
"application/vnd.fujixerox.docuworks",
"application/vnd.fujixerox.docuworks.binder",
"application/vnd.fuzzysheet",
"application/vnd.genomatix.tuxedo",
"application/vnd.geogebra.file",
"application/vnd.geogebra.slides",
"application/vnd.geogebra.tool",
"application/vnd.geometry-explorer",
"application/vnd.geometry-explorer",
"application/vnd.geonext",
"application/vnd.geoplan",
"application/vnd.geospace",
"application/vnd.gmx",
"application/vnd.google-apps.document",
"application/vnd.google-apps.drawing",
"application/vnd.google-apps.form",
"application/vnd.google-apps.jam",
"application/vnd.google-apps.map",
"application/vnd.google-apps.presentation",
"application/vnd.google-apps.script",
"application/vnd.google-apps.site",
"application/vnd.google-apps.spreadsheet",
"application/vnd.google-earth.kml+xml",
"application/vnd.google-earth.kmz",
"application/vnd.gov.sk.xmldatacontainer+xml",
"application/vnd.grafeq",
"application/vnd.grafeq",
"application/vnd.groove-account",
"application/vnd.groove-help",
"application/vnd.groove-identity-message",
"application/vnd.groove-injector",
"application/vnd.groove-tool-message",
"application/vnd.groove-tool-template",
"application/vnd.groove-vcard",
"application/vnd.hal+xml",
"application/vnd.handheld-entertainment+xml",
"application/vnd.hbci",
"application/vnd.hhe.lesson-player",
"application/vnd.hp-hpgl",
"application/vnd.hp-hpid",
"application/vnd.hp-hps",
"application/vnd.hp-jlyt",
"application/vnd.hp-pcl",
"application/vnd.hp-pclxl",
"application/vnd.hydrostatix.sof-data",
"application/vnd.ibm.minipay",
"application/vnd.ibm.modcap",
"application/vnd.ibm.modcap",
"application/vnd.ibm.modcap",
"application/vnd.ibm.rights-management",
"application/vnd.ibm.secure-container",
"application/vnd.iccprofile",
"application/vnd.iccprofile",
"application/vnd.igloader",
"application/vnd.immervision-ivp",
"application/vnd.immervision-ivu",
"application/vnd.insors.igm",
"application/vnd.intercon.formnet",
"application/vnd.intercon.formnet",
"application/vnd.intergeo",
"application/vnd.intu.qbo",
"application/vnd.intu.qfx",
"application/vnd.ipunplugged.rcprofile",
"application/vnd.irepository.package+xml",
"application/vnd.is-xpr",
"application/vnd.isac.fcs",
"application/vnd.jam",
"application/vnd.jcp.javame.midlet-rms",
"application/vnd.jisp",
"application/vnd.joost.joda-archive",
"application/vnd.kahootz",
"application/vnd.kahootz",
"application/vnd.kde.karbon",
"application/vnd.kde.kchart",
"application/vnd.kde.kformula",
"application/vnd.kde.kivio",
"application/vnd.kde.kontour",
"application/vnd.kde.kpresenter",
"application/vnd.kde.kpresenter",
"application/vnd.kde.kspread",
"application/vnd.kde.kword",
"application/vnd.kde.kword",
"application/vnd.kenameaapp",
"application/vnd.kidspiration",
"application/vnd.kinar",
"application/vnd.kinar",
"application/vnd.koan",
"application/vnd.koan",
"application/vnd.koan",
"application/vnd.koan",
"application/vnd.kodak-descriptor",
"application/vnd.las.las+xml",
"application/vnd.llamagraphics.life-balance.desktop",
"application/vnd.llamagraphics.life-balance.exchange+xml",
"application/vnd.lotus-approach",
"application/vnd.lotus-freelance",
"application/vnd.lotus-notes",
"application/vnd.lotus-organizer",
"application/vnd.lotus-screencam",
"application/vnd.lotus-wordpro",
"application/vnd.macports.portpkg",
"application/vnd.mapbox-vector-tile",
"application/vnd.mcd",
"application/vnd.medcalcdata",
"application/vnd.mediastation.cdkey",
"application/vnd.mfer",
"application/vnd.mfmp",
"application/vnd.micrografx.flo",
"application/vnd.micrografx.igx",
"application/vnd.mif",
"application/vnd.mobius.daf",
"application/vnd.mobius.dis",
"application/vnd.mobius.mbk",
"application/vnd.mobius.mqy",
"application/vnd.mobius.msl",
"application/vnd.mobius.plc",
"application/vnd.mobius.txf",
"application/vnd.mophun.application",
"application/vnd.mophun.certificate",
"application/vnd.mozilla.xul+xml",
"application/vnd.ms-artgalry",
"application/vnd.ms-cab-compressed",
"application/vnd.ms-excel",
"application/vnd.ms-excel",
"application/vnd.ms-excel",
"application/vnd.ms-excel",
"application/vnd.ms-excel",
"application/vnd.ms-excel",
"application/vnd.ms-excel.addin.macroenabled.12",
"application/vnd.ms-excel.sheet.binary.macroenabled.12",
"application/vnd.ms-excel.sheet.macroenabled.12",
"application/vnd.ms-excel.template.macroenabled.12",
"application/vnd.ms-fontobject",
"application/vnd.ms-htmlhelp",
"application/vnd.ms-ims",
"application/vnd.ms-lrm",
"application/vnd.ms-officetheme",
"application/vnd.ms-outlook",
"application/vnd.ms-pki.seccat",
"model/stl",
"application/vnd.ms-powerpoint",
"application/vnd.ms-powerpoint",
"application/vnd.ms-powerpoint",
"application/vnd.ms-powerpoint.addin.macroenabled.12",
"application/vnd.ms-powerpoint.presentation.macroenabled.12",
"application/vnd.ms-powerpoint.slide.macroenabled.12",
"application/vnd.ms-powerpoint.slideshow.macroenabled.12",
"application/vnd.ms-powerpoint.template.macroenabled.12",
"application/vnd.ms-project",
"application/vnd.ms-visio.viewer",
"application/vnd.ms-word.document.macroenabled.12",
"application/vnd.ms-word.template.macroenabled.12",
"application/vnd.ms-works",
"application/vnd.ms-works",
"application/vnd.ms-works",
"application/vnd.ms-works",
"application/vnd.ms-wpl",
"application/vnd.ms-xpsdocument",
"application/vnd.mseq",
"application/vnd.musician",
"application/vnd.muvee.style",
"application/vnd.mynfc",
"application/vnd.nato.bindingdataobject+xml",
"application/vnd.neurolanguage.nlu",
"application/vnd.nitf",
"application/vnd.nitf",
"application/vnd.noblenet-directory",
"application/vnd.noblenet-sealer",
"application/vnd.noblenet-web",
"application/vnd.nokia.n-gage.data",
"application/vnd.nokia.n-gage.symbian.install",
"application/vnd.nokia.radio-preset",
"application/vnd.nokia.radio-presets",
"application/vnd.novadigm.edm",
"application/vnd.novadigm.edx",
"application/vnd.novadigm.ext",
"application/vnd.oasis.opendocument.chart",
"application/vnd.oasis.opendocument.chart-template",
"application/vnd.oasis.opendocument.database",
"application/vnd.oasis.opendocument.formula",
"application/vnd.oasis.opendocument.formula-template",
"application/vnd.oasis.opendocument.graphics",
"application/vnd.oasis.opendocument.graphics-template",
"application/vnd.oasis.opendocument.image",
"application/vnd.oasis.opendocument.image-template",
"application/vnd.oasis.opendocument.presentation",
"application/vnd.oasis.opendocument.presentation-template",
"application/vnd.oasis.opendocument.spreadsheet",
"application/vnd.oasis.opendocument.spreadsheet-template",
"application/vnd.oasis.opendocument.text",
"application/vnd.oasis.opendocument.text-master",
"application/vnd.oasis.opendocument.text-template",
"application/vnd.oasis.opendocument.text-web",
"application/vnd.olpc-sugar",
"application/vnd.oma.dd2+xml",
"application/vnd.openblox.game+xml",
"application/vnd.openofficeorg.extension",
"application/vnd.openstreetmap.data+xml",
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
"application/vnd.openxmlformats-officedocument.presentationml.slide",
"application/vnd.openxmlformats-officedocument.presentationml.slideshow",
"application/vnd.openxmlformats-officedocument.presentationml.template",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.spreadsheetml.template",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.openxmlformats-officedocument.wordprocessingml.template",
"application/vnd.osgeo.mapguide.package",
"application/vnd.osgi.dp",
"application/vnd.osgi.subsystem",
"application/vnd.palm",
"application/vnd.palm",
"application/vnd.palm",
"application/vnd.pawaafile",
"application/vnd.pg.format",
"application/vnd.pg.osasli",
"application/vnd.picsel",
"application/vnd.pmi.widget",
"application/vnd.pocketlearn",
"application/vnd.powerbuilder6",
"application/vnd.previewsystems.box",
"application/vnd.procrate.brushset",
"application/vnd.procreate.brush",
"application/vnd.procreate.dream",
"application/vnd.proteus.magazine",
"application/vnd.publishare-delta-tree",
"application/vnd.pvi.ptid1",
"application/vnd.pwg-xhtml-print+xml",
"application/vnd.quark.quarkxpress",
"application/vnd.quark.quarkxpress",
"application/vnd.quark.quarkxpress",
"application/vnd.quark.quarkxpress",
"application/vnd.quark.quarkxpress",
"application/vnd.quark.quarkxpress",
"application/vnd.rar",
"application/vnd.realvnc.bed",
"application/vnd.recordare.musicxml",
"application/vnd.recordare.musicxml+xml",
"application/vnd.rig.cryptonote",
"application/vnd.rim.cod",
"application/vnd.rn-realmedia",
"application/vnd.rn-realmedia-vbr",
"application/vnd.route66.link66+xml",
"application/vnd.sailingtracker.track",
"application/vnd.seemail",
"application/vnd.sema",
"application/vnd.semd",
"application/vnd.semf",
"application/vnd.shana.informed.formdata",
"application/vnd.shana.informed.formtemplate",
"application/vnd.shana.informed.interchange",
"application/vnd.shana.informed.package",
"application/vnd.simtech-mindmapper",
"application/vnd.simtech-mindmapper",
"application/vnd.smaf",
"application/vnd.smart.teacher",
"application/vnd.software602.filler.form+xml",
"application/vnd.solent.sdkm+xml",
"application/vnd.solent.sdkm+xml",
"application/vnd.spotfire.dxp",
"application/vnd.spotfire.sfs",
"application/vnd.stardivision.calc",
"application/vnd.stardivision.draw",
"application/vnd.stardivision.impress",
"application/vnd.stardivision.math",
"application/vnd.stardivision.writer",
"application/vnd.stardivision.writer",
"application/vnd.stardivision.writer-global",
"application/vnd.stepmania.package",
"application/vnd.stepmania.stepchart",
"application/vnd.sun.wadl+xml",
"application/vnd.sun.xml.calc",
"application/vnd.sun.xml.calc.template",
"application/vnd.sun.xml.draw",
"application/vnd.sun.xml.draw.template",
"application/vnd.sun.xml.impress",
"application/vnd.sun.xml.impress.template",
"application/vnd.sun.xml.math",
"application/vnd.sun.xml.writer",
"application/vnd.sun.xml.writer.global",
"application/vnd.sun.xml.writer.template",
"application/vnd.sus-calendar",
"application/vnd.sus-calendar",
"application/vnd.svd",
"application/vnd.symbian.install",
"application/vnd.symbian.install",
"application/vnd.syncml+xml",
"application/vnd.syncml.dm+wbxml",
"application/vnd.syncml.dm+xml",
"application/vnd.syncml.dmddf+xml",
"application/vnd.tao.intent-module-archive",
"application/vnd.tcpdump.pcap",
"application/vnd.tcpdump.pcap",
"application/vnd.tcpdump.pcap",
"application/vnd.tmobile-livetv",
"application/vnd.trid.tpt",
"application/vnd.triscape.mxs",
"application/vnd.trueapp",
"application/vnd.ufdl",
"application/vnd.ufdl",
"application/vnd.uiq.theme",
"application/vnd.umajin",
"application/vnd.unity",
"application/vnd.uoml+xml",
"application/vnd.uoml+xml",
"application/vnd.vcx",
"application/vnd.visio",
"application/vnd.visio",
"application/vnd.visio",
"application/vnd.visio",
"application/vnd.visio",
"application/vnd.visio",
"application/vnd.visionary",
"application/vnd.vsf",
"application/vnd.wap.wbxml",
"application/vnd.wap.wmlc",
"application/vnd.wap.wmlscriptc",
"application/vnd.webturbo",
"application/vnd.wolfram.player",
"application/vnd.wordperfect",
"application/vnd.wqd",
"application/vnd.wt.stf",
"application/vnd.xara",
"application/vnd.xfdl",
"application/vnd.yamaha.hv-dic",
"application/vnd.yamaha.hv-script",
"application/vnd.yamaha.hv-voice",
"application/vnd.yamaha.openscoreformat",
"application/vnd.yamaha.openscoreformat.osfpvg+xml",
"application/vnd.yamaha.smaf-audio",
"application/vnd.yamaha.smaf-phrase",
"application/vnd.yellowriver-custom-menu",
"application/vnd.zul",
"application/vnd.zul",
"application/vnd.zzazz.deck+xml",
"application/voicexml+xml",
"application/wasm",
"application/watcherinfo+xml",
"application/widget",
"application/winhlp",
"application/wsdl+xml",
"application/wspolicy+xml",
"application/x-7z-compressed",
"application/x-abiword",
"application/x-ace-compressed",
"application/x-arj",
"application/x-authorware-bin",
"application/x-authorware-bin",
"application/x-authorware-bin",
"application/x-authorware-bin",
"application/x-authorware-map",
"application/x-authorware-seg",
"application/x-bcpio",
"application/x-bittorrent",
"application/x-blender",
"application/x-blorb",
"application/x-blorb",
"application/x-bzip",
"application/x-bzip2",
"application/x-bzip2",
"application/x-cbr",
"application/x-cbr",
"application/x-cbr",
"application/x-cbr",
"application/x-cbr",
"application/x-cdlink",
"application/x-cfs-compressed",
"application/x-chat",
"application/x-chess-pgn",
"application/x-chrome-extension",
"application/x-cocoa",
"application/x-conference",
"application/x-cpio",
"application/x-csh",
"application/x-debian-package",
"application/x-dgc-compressed",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-director",
"application/x-doom",
"application/x-dtbncx+xml",
"application/x-dtbook+xml",
"application/x-dtbresource+xml",
"application/x-dvi",
"application/x-envoy",
"application/x-eva",
"application/x-font-bdf",
"application/x-font-ghostscript",
"application/x-font-linux-psf",
"application/x-font-pcf",
"application/x-font-snf",
"application/x-font-type1",
"application/x-font-type1",
"application/x-font-type1",
"application/x-font-type1",
"application/x-freearc",
"application/x-futuresplash",
"application/x-gca-compressed",
"application/x-glulx",
"application/x-gnumeric",
"application/x-gramps-xml",
"application/x-gtar",
"application/x-hdf",
"application/x-httpd-php",
"application/x-install-instructions",
"application/x-ipynb+json",
"application/x-java-archive-diff",
"application/x-java-jnlp-file",
"application/x-keepass2",
"application/x-latex",
"application/x-lua-bytecode",
"application/x-lzh-compressed",
"application/x-lzh-compressed",
"application/x-makeself",
"application/x-mie",
"model/prc",
"application/x-mobipocket-ebook",
"application/x-ms-application",
"application/x-ms-shortcut",
"application/x-ms-wmd",
"application/x-ms-wmz",
"application/x-ms-xbap",
"application/x-msaccess",
"application/x-msbinder",
"application/x-mscardfile",
"application/x-msclip",
"application/x-msdownload",
"application/x-msdownload",
"application/x-msmediaview",
"application/x-msmediaview",
"application/x-msmediaview",
"image/wmf",
"image/emf",
"application/x-msmetafile",
"application/x-msmoney",
"application/x-mspublisher",
"application/x-msschedule",
"application/x-msterminal",
"application/x-mswrite",
"application/x-netcdf",
"application/x-netcdf",
"application/x-ns-proxy-autoconfig",
"application/x-nzb",
"application/x-perl",
"application/x-perl",
"application/x-pkcs12",
"application/x-pkcs12",
"application/x-pkcs7-certificates",
"application/x-pkcs7-certificates",
"application/x-pkcs7-certreqresp",
"application/x-redhat-package-manager",
"application/x-research-info-systems",
"application/x-sea",
"application/x-sh",
"application/x-shar",
"application/x-shockwave-flash",
"application/x-silverlight-app",
"application/x-stuffit",
"application/x-stuffitx",
"application/x-subrip",
"application/x-sv4cpio",
"application/x-sv4crc",
"application/x-t3vm-image",
"application/x-tads",
"application/x-tar",
"application/x-tcl",
"application/x-tcl",
"application/x-tex",
"application/x-tex-tfm",
"application/x-texinfo",
"application/x-texinfo",
"model/obj",
"application/x-ustar",
"application/x-virtualbox-hdd",
"application/x-virtualbox-ova",
"application/x-virtualbox-ovf",
"application/x-virtualbox-vbox",
"application/x-virtualbox-vbox-extpack",
"application/x-virtualbox-vdi",
"application/x-virtualbox-vhd",
"application/x-virtualbox-vmdk",
"application/x-wais-source",
"application/x-web-app-manifest+json",
"application/x-x509-ca-cert",
"application/x-x509-ca-cert",
"application/x-x509-ca-cert",
"application/x-xfig",
"application/xliff+xml",
"application/x-xpinstall",
"application/x-xz",
"application/zip",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/x-zmachine",
"application/xaml+xml",
"application/xcap-att+xml",
"application/xcap-caps+xml",
"application/xcap-diff+xml",
"application/xcap-el+xml",
"application/xcap-ns+xml",
"application/xenc+xml",
"application/xhtml+xml",
"application/xhtml+xml",
"application/xml",
"application/xml",
"application/xml",
"application/xml",
"application/xml-dtd",
"application/xop+xml",
"application/xproc+xml",
"application/xslt+xml",
"application/xspf+xml",
"application/xv+xml",
"application/xv+xml",
"application/xv+xml",
"application/xv+xml",
"application/yang",
"application/yin+xml",
"application/zip+dotlottie",
"video/3gpp",
"audio/aac",
"audio/aac",
"audio/adpcm",
"audio/amr",
"audio/basic",
"audio/basic",
"audio/midi",
"audio/midi",
"audio/midi",
"audio/midi",
"audio/mobile-xmf",
"audio/mpeg",
"audio/mp4",
"audio/mp4",
"audio/mp4",
"audio/mpeg",
"audio/mpeg",
"audio/mpeg",
"audio/mpeg",
"audio/mpeg",
"audio/ogg",
"audio/ogg",
"audio/ogg",
"audio/ogg",
"audio/s3m",
"audio/silk",
"audio/vnd.dece.audio",
"audio/vnd.dece.audio",
"audio/vnd.digital-winds",
"audio/vnd.dra",
"audio/vnd.dts",
"audio/vnd.dts.hd",
"audio/vnd.lucent.voice",
"audio/vnd.ms-playready.media.pya",
"audio/vnd.nuera.ecelp4800",
"audio/vnd.nuera.ecelp7470",
"audio/vnd.nuera.ecelp9600",
"audio/vnd.rip",
"audio/wav",
"audio/webm",
"audio/x-aiff",
"audio/x-aiff",
"audio/x-aiff",
"audio/x-caf",
"audio/x-flac",
"audio/x-matroska",
"audio/x-mpegurl",
"audio/x-ms-wax",
"audio/x-ms-wma",
"audio/x-pn-realaudio",
"audio/x-pn-realaudio",
"audio/x-pn-realaudio-plugin",
"audio/xm",
"chemical/x-cdx",
"chemical/x-cif",
"chemical/x-cmdf",
"chemical/x-cml",
"chemical/x-csml",
"chemical/x-xyz",
"font/collection",
"font/otf",
"font/ttf",
"font/woff",
"font/woff2",
"image/aces",
"image/apng",
"image/avci",
"image/avcs",
"image/avif",
"image/bmp",
"image/bmp",
"image/cgm",
"image/dicom-rle",
"image/dpx",
"image/fits",
"image/g3fax",
"image/gif",
"image/heic",
"image/heic-sequence",
"image/heif",
"image/heif-sequence",
"image/hej2k",
"image/ief",
"image/jaii",
"image/jais",
"image/jls",
"image/jp2",
"image/jp2",
"image/jpeg",
"image/jpeg",
"image/jpeg",
"image/jph",
"image/jphc",
"image/jpm",
"image/jpm",
"image/jpx",
"image/jpx",
"image/jxl",
"image/jxr",
"image/jxra",
"image/jxrs",
"image/jxs",
"image/jxsc",
"image/jxsi",
"image/jxss",
"image/ktx",
"image/ktx2",
"image/pjpeg",
"image/png",
"image/prs.btif",
"image/prs.btif",
"image/prs.pti",
"image/sgi",
"image/svg+xml",
"image/svg+xml",
"image/t38",
"image/tiff",
"image/tiff",
"image/tiff-fx",
"image/vnd.adobe.photoshop",
"image/vnd.airzip.accelerator.azv",
"image/vnd.dece.graphic",
"image/vnd.dece.graphic",
"image/vnd.dece.graphic",
"image/vnd.dece.graphic",
"image/vnd.djvu",
"image/vnd.djvu",
"text/vnd.dvb.subtitle",
"image/vnd.dwg",
"image/vnd.dxf",
"image/vnd.fastbidsheet",
"image/vnd.fpx",
"image/vnd.fst",
"image/vnd.fujixerox.edmics-mmr",
"image/vnd.fujixerox.edmics-rlc",
"image/vnd.microsoft.icon",
"image/vnd.ms-dds",
"image/vnd.ms-modi",
"image/vnd.ms-photo",
"image/vnd.net-fpx",
"image/vnd.pco.b16",
"image/vnd.tencent.tap",
"image/vnd.valve.source.texture",
"image/vnd.wap.wbmp",
"image/vnd.xiff",
"image/vnd.zbrush.pcx",
"image/webp",
"image/x-3ds",
"image/x-adobe-dng",
"image/x-cmu-raster",
"image/x-cmx",
"image/x-freehand",
"image/x-freehand",
"image/x-freehand",
"image/x-freehand",
"image/x-freehand",
"image/x-jng",
"image/x-mrsid-image",
"image/x-pict",
"image/x-pict",
"image/x-portable-anymap",
"image/x-portable-bitmap",
"image/x-portable-graymap",
"image/x-portable-pixmap",
"image/x-rgb",
"image/x-tga",
"image/x-xbitmap",
"image/x-xpixmap",
"image/x-xwindowdump",
"message/disposition-notification",
"message/global",
"message/global-delivery-status",
"message/global-disposition-notification",
"message/global-headers",
"message/rfc822",
"message/rfc822",
"message/rfc822",
"message/rfc822",
"message/vnd.wfa.wsc",
"model/3mf",
"model/gltf+json",
"model/gltf-binary",
"model/iges",
"model/iges",
"model/jt",
"model/mesh",
"model/mesh",
"model/mesh",
"model/mtl",
"model/step",
"model/step",
"model/step",
"model/step",
"model/step+xml",
"model/step+zip",
"model/step-xml+zip",
"model/u3d",
"model/vnd.bary",
"model/vnd.cld",
"model/vnd.collada+xml",
"model/vnd.dwf",
"model/vnd.gdl",
"model/vnd.gtw",
"video/mp2t",
"model/vnd.opengex",
"model/vnd.parasolid.transmit.binary",
"model/vnd.parasolid.transmit.text",
"model/vnd.pytha.pyox",
"model/vnd.pytha.pyox",
"model/vnd.sap.vds",
"model/vnd.usda",
"model/vnd.usdz+zip",
"model/vnd.valve.source.compiled-map",
"model/vnd.vtu",
"model/vrml",
"model/vrml",
"model/x3d+fastinfoset",
"model/x3d+binary",
"model/x3d-vrml",
"model/x3d+vrml",
"model/x3d+xml",
"model/x3d+xml",
"text/cache-manifest",
"text/cache-manifest",
"text/calendar",
"text/calendar",
"text/coffeescript",
"text/coffeescript",
"text/css",
"text/csv",
"text/html",
"text/html",
"text/html",
"text/jade",
"text/javascript",
"text/jsx",
"text/less",
"text/markdown",
"text/markdown",
"text/mathml",
"text/mdx",
"text/n3",
"text/plain",
"text/plain",
"text/plain",
"text/plain",
"text/plain",
"text/plain",
"text/plain",
"text/plain",
"text/prs.lines.tag",
"text/richtext",
"text/sgml",
"text/sgml",
"text/shex",
"text/slim",
"text/slim",
"text/spdx",
"text/stylus",
"text/stylus",
"text/tab-separated-values",
"text/troff",
"text/troff",
"text/troff",
"text/troff",
"text/troff",
"text/troff",
"text/turtle",
"text/uri-list",
"text/uri-list",
"text/uri-list",
"text/vcard",
"text/vnd.curl",
"text/vnd.curl.dcurl",
"text/vnd.curl.mcurl",
"text/vnd.curl.scurl",
"text/vnd.familysearch.gedcom",
"text/vnd.fly",
"text/vnd.fmi.flexstor",
"text/vnd.graphviz",
"text/vnd.in3d.3dml",
"text/vnd.in3d.spot",
"text/vnd.sun.j2me.app-descriptor",
"text/vnd.wap.wml",
"text/vnd.wap.wmlscript",
"text/vtt",
"text/wgsl",
"text/x-asm",
"text/x-asm",
"text/x-c",
"text/x-c",
"text/x-c",
"text/x-c",
"text/x-c",
"text/x-c",
"text/x-c",
"text/x-component",
"text/x-fortran",
"text/x-fortran",
"text/x-fortran",
"text/x-fortran",
"text/x-handlebars-template",
"text/x-java-source",
"text/x-lua",
"text/x-markdown",
"text/x-nfo",
"text/x-opml",
"text/x-pascal",
"text/x-pascal",
"text/x-processing",
"text/x-sass",
"text/x-scss",
"text/x-setext",
"text/x-sfv",
"text/x-suse-ymp",
"text/x-uuencode",
"text/x-vcalendar",
"text/x-vcard",
"text/yaml",
"text/yaml",
"video/3gpp",
"video/3gpp2",
"video/h261",
"video/h263",
"video/h264",
"video/iso.segment",
"video/jpeg",
"video/mj2",
"video/mj2",
"video/mp2t",
"video/mp2t",
"video/mp2t",
"video/mp4",
"video/mpeg",
"video/mpeg",
"video/mpeg",
"video/mpeg",
"video/mpeg",
"video/ogg",
"video/quicktime",
"video/quicktime",
"video/vnd.dece.hd",
"video/vnd.dece.hd",
"video/vnd.dece.mobile",
"video/vnd.dece.mobile",
"video/vnd.dece.pd",
"video/vnd.dece.pd",
"video/vnd.dece.sd",
"video/vnd.dece.sd",
"video/vnd.dece.video",
"video/vnd.dece.video",
"video/vnd.dvb.file",
"video/vnd.fvt",
"video/vnd.mpegurl",
"video/vnd.mpegurl",
"video/vnd.ms-playready.media.pyv",
"video/vnd.uvvu.mp4",
"video/vnd.uvvu.mp4",
"video/vnd.vivo",
"video/webm",
"video/x-f4v",
"video/x-fli",
"video/x-flv",
"video/x-m4v",
"video/x-matroska",
"video/x-matroska",
"video/x-matroska",
"video/x-mng",
"video/x-ms-asf",
"video/x-ms-asf",
"video/x-ms-vob",
"video/x-ms-wm",
"video/x-ms-wmv",
"video/x-ms-wmx",
"video/x-ms-wvx",
"video/x-msvideo",
"video/x-sgi-movie",
"video/x-smv",
"x-conference/x-cooltalk"
]
}
},
"additionalProperties": false
},
"emojis": {
"type": "object",
"properties": {
"max_bytes": {
"type": "integer",
"minimum": 0,
"default": 1000000
},
"max_shortcode_characters": {
"type": "integer",
"minimum": 0,
"default": 100
},
"max_description_characters": {
"type": "integer",
"minimum": 0,
"default": 1000
}
},
"additionalProperties": false
},
"polls": {
"type": "object",
"properties": {
"max_options": {
"type": "integer",
"minimum": 0,
"default": 20
},
"max_option_characters": {
"type": "integer",
"minimum": 0,
"default": 500
},
"min_duration_seconds": {
"type": "integer",
"minimum": 0,
"default": 60
},
"max_duration_seconds": {
"type": "integer",
"minimum": 0,
"default": 8640000
}
},
"additionalProperties": false
},
"emails": {
"type": "object",
"properties": {
"disallow_tempmail": {
"type": "boolean",
"default": false,
"description": "Blocks over 10,000 common tempmail domains"
},
"disallowed_domains": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
}
},
"additionalProperties": false
},
"challenges": {
"type": "object",
"properties": {
"difficulty": {
"type": "integer",
"exclusiveMinimum": 0,
"default": 50000
},
"expiration": {
"type": "integer",
"exclusiveMinimum": 0,
"default": 300
},
"key": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
}
},
"required": ["key"],
"additionalProperties": false,
"description": "CAPTCHA challenge configuration. Challenges are disabled if not provided."
},
"filters": {
"type": "object",
"properties": {
"note_content": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
},
"emoji_shortcode": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
},
"username": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
},
"displayname": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
},
"bio": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_user_agents/items"
},
"default": []
}
},
"additionalProperties": false,
"description": "Block content that matches these regular expressions"
}
},
"required": [
"accounts",
"notes",
"media",
"emojis",
"polls",
"emails",
"filters"
],
"additionalProperties": false
},
"notifications": {
"type": "object",
"properties": {
"push": {
"type": "object",
"properties": {
"vapid_keys": {
"type": "object",
"properties": {
"public": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"private": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
}
},
"additionalProperties": false
},
"subject": {
"type": "string",
"description": "Subject field embedded in the push notification. Example: 'mailto:contact@example.com'"
}
},
"required": ["vapid_keys"],
"additionalProperties": false,
"description": "Web Push Notifications configuration. Leave out to disable."
}
},
"additionalProperties": false
},
"defaults": {
"type": "object",
"properties": {
"visibility": {
"type": "string",
"enum": ["public", "unlisted", "private", "direct"],
"default": "public"
},
"language": {
"type": "string",
"default": "en"
},
"avatar": {
"$ref": "#/properties/http/properties/proxy_address"
},
"header": {
"$ref": "#/properties/http/properties/proxy_address"
},
"placeholder_style": {
"type": "string",
"default": "thumbs",
"description": "A style name from https://www.dicebear.com/styles"
}
},
"additionalProperties": false
},
"federation": {
"type": "object",
"properties": {
"blocked": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"followers_only": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"discard": {
"type": "object",
"properties": {
"reports": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"deletes": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"updates": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"media": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"follows": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"likes": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"reactions": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"banners": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"avatars": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
"additionalProperties": false
},
"bridge": {
"type": "object",
"properties": {
"software": {
"anyOf": [
{
"type": "string",
"enum": ["versia-ap"]
},
{
"type": "string"
}
]
},
"allowed_ips": {
"type": "array",
"items": {
"$ref": "#/properties/http/properties/banned_ips/items"
},
"default": []
},
"token": {
"$ref": "#/properties/postgres/properties/password"
},
"url": {
"$ref": "#/properties/http/properties/proxy_address"
}
},
"required": ["software", "token", "url"],
"additionalProperties": false
}
},
"required": ["discard"],
"additionalProperties": false
},
"queues": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"remove_after_complete_seconds": {
"type": "integer",
"minimum": 0,
"default": 31536000
},
"remove_after_failure_seconds": {
"type": "integer",
"minimum": 0,
"default": 31536000
}
},
"additionalProperties": false
},
"propertyNames": {
"enum": ["delivery", "inbox", "fetch", "push", "media"]
}
},
"instance": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"default": "Versia Server"
},
"description": {
"type": "string",
"minLength": 1,
"default": "A Versia instance"
},
"extended_description_path": {
"$ref": "#/properties/http/properties/tls/properties/key",
"description": "This value must be a file path"
},
"tos_path": {
"$ref": "#/properties/http/properties/tls/properties/key",
"description": "This value must be a file path"
},
"privacy_policy_path": {
"$ref": "#/properties/http/properties/tls/properties/key",
"description": "This value must be a file path"
},
"branding": {
"type": "object",
"properties": {
"logo": {
"$ref": "#/properties/http/properties/proxy_address"
},
"banner": {
"$ref": "#/properties/http/properties/proxy_address"
}
},
"additionalProperties": false
},
"languages": {
"type": "array",
"items": {
"type": "string",
"enum": [
"aa",
"ab",
"ae",
"af",
"ak",
"am",
"an",
"ar",
"as",
"av",
"ay",
"az",
"ba",
"be",
"bg",
"bi",
"bm",
"bn",
"bo",
"br",
"bs",
"ca",
"ce",
"ch",
"co",
"cr",
"cs",
"cu",
"cv",
"cy",
"da",
"de",
"dv",
"dz",
"ee",
"el",
"en",
"eo",
"es",
"et",
"eu",
"fa",
"ff",
"fi",
"fj",
"fo",
"fr",
"fy",
"ga",
"gd",
"gl",
"gn",
"gu",
"gv",
"ha",
"he",
"hi",
"ho",
"hr",
"ht",
"hu",
"hy",
"hz",
"ia",
"id",
"ie",
"ig",
"ii",
"ik",
"io",
"is",
"it",
"iu",
"ja",
"jv",
"ka",
"kg",
"ki",
"kj",
"kk",
"kl",
"km",
"kn",
"ko",
"kr",
"ks",
"ku",
"kv",
"kw",
"ky",
"la",
"lb",
"lg",
"li",
"ln",
"lo",
"lt",
"lu",
"lv",
"mg",
"mh",
"mi",
"mk",
"ml",
"mn",
"mr",
"ms",
"mt",
"my",
"na",
"nb",
"nd",
"ne",
"ng",
"nl",
"nn",
"no",
"nr",
"nv",
"ny",
"oc",
"oj",
"om",
"or",
"os",
"pa",
"pi",
"pl",
"ps",
"pt",
"qu",
"rm",
"rn",
"ro",
"ru",
"rw",
"sa",
"sc",
"sd",
"se",
"sg",
"si",
"sk",
"sl",
"sm",
"sn",
"so",
"sq",
"sr",
"ss",
"st",
"su",
"sv",
"sw",
"ta",
"te",
"tg",
"th",
"ti",
"tk",
"tl",
"tn",
"to",
"tr",
"ts",
"tt",
"tw",
"ty",
"ug",
"uk",
"ur",
"uz",
"ve",
"vi",
"vo",
"wa",
"wo",
"xh",
"yi",
"yo",
"za",
"zh",
"zu"
]
},
"description": "Primary instance languages. ISO 639-1 codes."
},
"contact": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Email to contact the instance administration"
}
},
"required": ["email"],
"additionalProperties": false
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Short description of the rule"
},
"hint": {
"type": "string",
"minLength": 1,
"maxLength": 4096,
"description": "Longer version of the rule with additional information"
}
},
"required": ["text"],
"additionalProperties": false
},
"default": []
},
"keys": {
"type": "object",
"properties": {
"public": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
},
"private": {
"$ref": "#/properties/postgres/properties/password",
"description": "You can use PATH:/path/to/file to load this value from a file"
}
},
"additionalProperties": false
}
},
"required": ["branding", "languages", "contact"],
"additionalProperties": false
},
"permissions": {
"type": "object",
"properties": {
"anonymous": {
"type": "array",
"items": {
"type": "string",
"enum": [
"notes",
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"accounts",
"owner:account",
"read:account_follows",
"likes",
"owner:like",
"boosts",
"owner:boost",
"read:account",
"emojis",
"read:emoji",
"owner:emoji",
"read:reaction",
"reactions",
"owner:reaction",
"media",
"owner:media",
"blocks",
"owner:block",
"filters",
"owner:filter",
"mutes",
"owner:mute",
"reports",
"owner:report",
"settings",
"owner:settings",
"roles",
"notifications",
"owner:notification",
"follows",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"ignore_rate_limits",
"impersonate",
"instance",
"instance:federation",
"instance:settings",
"oauth"
]
},
"default": [
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"owner:account",
"read:account_follows",
"owner:like",
"owner:boost",
"read:account",
"owner:emoji",
"read:reaction",
"owner:reaction",
"read:emoji",
"owner:media",
"owner:block",
"owner:filter",
"owner:mute",
"owner:report",
"owner:settings",
"owner:notification",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"oauth"
]
},
"default": {
"type": "array",
"items": {
"type": "string",
"enum": [
"notes",
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"accounts",
"owner:account",
"read:account_follows",
"likes",
"owner:like",
"boosts",
"owner:boost",
"read:account",
"emojis",
"read:emoji",
"owner:emoji",
"read:reaction",
"reactions",
"owner:reaction",
"media",
"owner:media",
"blocks",
"owner:block",
"filters",
"owner:filter",
"mutes",
"owner:mute",
"reports",
"owner:report",
"settings",
"owner:settings",
"roles",
"notifications",
"owner:notification",
"follows",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"ignore_rate_limits",
"impersonate",
"instance",
"instance:federation",
"instance:settings",
"oauth"
]
},
"default": [
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"owner:account",
"read:account_follows",
"owner:like",
"owner:boost",
"read:account",
"owner:emoji",
"read:reaction",
"owner:reaction",
"read:emoji",
"owner:media",
"owner:block",
"owner:filter",
"owner:mute",
"owner:report",
"owner:settings",
"owner:notification",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"oauth"
]
},
"admin": {
"type": "array",
"items": {
"type": "string",
"enum": [
"notes",
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"accounts",
"owner:account",
"read:account_follows",
"likes",
"owner:like",
"boosts",
"owner:boost",
"read:account",
"emojis",
"read:emoji",
"owner:emoji",
"read:reaction",
"reactions",
"owner:reaction",
"media",
"owner:media",
"blocks",
"owner:block",
"filters",
"owner:filter",
"mutes",
"owner:mute",
"reports",
"owner:report",
"settings",
"owner:settings",
"roles",
"notifications",
"owner:notification",
"follows",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"ignore_rate_limits",
"impersonate",
"instance",
"instance:federation",
"instance:settings",
"oauth"
]
},
"default": [
"owner:note",
"read:note",
"read:note_likes",
"read:note_boosts",
"owner:account",
"read:account_follows",
"owner:like",
"owner:boost",
"read:account",
"owner:emoji",
"read:reaction",
"owner:reaction",
"read:emoji",
"owner:media",
"owner:block",
"owner:filter",
"owner:mute",
"owner:report",
"owner:settings",
"owner:notification",
"owner:follow",
"owner:app",
"search",
"push_notifications",
"public_timelines",
"private_timelines",
"oauth",
"notes",
"accounts",
"likes",
"boosts",
"emojis",
"reactions",
"media",
"blocks",
"filters",
"mutes",
"reports",
"settings",
"roles",
"notifications",
"follows",
"impersonate",
"ignore_rate_limits",
"instance",
"instance:federation",
"instance:settings"
]
}
},
"additionalProperties": false
},
"logging": {
"type": "object",
"properties": {
"types": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "boolean",
"default": false
},
{
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"debug",
"info",
"warning",
"error",
"fatal"
],
"default": "info"
},
"log_file_path": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"propertyNames": {
"enum": [
"requests",
"responses",
"requests_content",
"filters"
]
}
},
"log_level": {
"type": "string",
"enum": ["debug", "info", "warning", "error", "fatal"],
"default": "info"
},
"sentry": {
"type": "object",
"properties": {
"dsn": {
"$ref": "#/properties/http/properties/proxy_address"
},
"debug": {
"type": "boolean",
"default": false
},
"sample_rate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1
},
"traces_sample_rate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1
},
"trace_propagation_targets": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"max_breadcrumbs": {
"type": "number",
"default": 100
},
"environment": {
"type": "string"
}
},
"required": ["dsn"],
"additionalProperties": false
},
"log_file_path": {
"type": "string",
"default": "logs/versia.log"
}
},
"required": ["types"],
"additionalProperties": false
},
"debug": {
"type": "object",
"properties": {
"federation": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"plugins": {
"type": "object",
"properties": {
"autoload": {
"type": "boolean",
"default": true
},
"overrides": {
"type": "object",
"properties": {
"enabled": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"disabled": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
"additionalProperties": false
},
"config": {
"type": "object",
"additionalProperties": {}
}
},
"required": ["overrides"],
"additionalProperties": false
}
},
"required": [
"postgres",
"redis",
"search",
"registration",
"http",
"frontend",
"email",
"media",
"validation",
"notifications",
"defaults",
"federation",
"queues",
"instance",
"permissions",
"logging",
"plugins"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}