# ServerConfigCustom

Type: ServerConfigCustom

Schema: [ServerConfigCustom](https://sourcey-peertube.pages.dev/api-rest-reference/models/serverconfigcustom.md)

- `instance` (optional)
  Type: object
  
  - `name` (optional)
    Type: string
  
  - `shortDescription` (optional)
    Type: string
  
  - `description` (optional)
    Type: string
  
  - `terms` (optional)
    Type: string
  
  - `codeOfConduct` (optional)
    Type: string
  
  - `creationReason` (optional)
    Type: string
  
  - `moderationInformation` (optional)
    Type: string
  
  - `administrator` (optional)
    Type: string
  
  - `maintenanceLifetime` (optional)
    Type: string
  
  - `businessModel` (optional)
    Type: string
  
  - `hardwareInformation` (optional)
    Type: string
  
  - `translations` (optional)
    Type: Array<InstanceTranslation>
    
    Translations of the instance information. Empty fields fall back to the default instance information
    
    Items:
      Reference: [InstanceTranslation](https://sourcey-peertube.pages.dev/api-rest-reference/models/instancetranslation.md); Type: InstanceTranslation
  
  - `languages` (optional)
    Type: Array<string>
    
    Items:
      Type: string
  
  - `categories` (optional)
    Type: Array<number>
    
    Items:
      Type: number
  
  - `isNSFW` (optional)
    Type: boolean
  
  - `defaultNSFWPolicy` (optional)
    Type: string
  
  - `serverCountry` (optional)
    Type: string
  
  - `support` (optional)
    Type: object
    
    - `text` (optional)
      Type: string
  
  - `social` (optional)
    Type: object
    
    - `externalLink` (optional)
      Type: string
    
    - `mastodonLink` (optional)
      Type: string
    
    - `blueskyLink` (optional)
      Type: string
    
    - `xLink` (optional)
      Type: string
  
  - `defaultClientRoute` (optional)
    Type: string
  
  - `customizations` (optional)
    Type: object
    
    - `javascript` (optional)
      Type: string
    
    - `css` (optional)
      Type: string

- `theme` (optional)
  Type: object
  
  - `default` (optional)
    Type: string

- `services` (optional)
  Type: object
  
  - `twitter` (optional)
    Type: object
    
    - `username` (optional)
      Type: string

- `cache` (optional)
  Type: object
  
  - `previews` (optional)
    Type: object
    
    - `size` (optional)
      Type: integer
  
  - `captions` (optional)
    Type: object
    
    - `size` (optional)
      Type: integer

- `signup` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean
  
  - `limit` (optional)
    Type: integer
  
  - `requiresEmailVerification` (optional)
    Type: boolean

- `admin` (optional)
  Type: object
  
  - `email` (optional)
    Type: string, email

- `contactForm` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `user` (optional)
  Type: object
  
  Settings that apply to new users, if registration is enabled
  
  - `videoQuota` (optional)
    Type: integer
    
    Example:
    
    ```json
    16810141515
    ```
  
  - `videoQuotaDaily` (optional)
    Type: integer
    
    Example:
    
    ```json
    1681014151
    ```

- `transcoding` (optional)
  Type: object
  
  Settings pertaining to transcoding jobs
  
  - `enabled` (optional)
    Type: boolean
  
  - `originalFile` (optional)
    Type: object
    
    - `keep` (optional)
      Type: boolean
  
  - `allowAdditionalExtensions` (optional)
    Type: boolean
    
    Allow your users to upload .mkv, .mov, .avi, .wmv, .flv, .f4v, .3g2, .3gp, .mts, m2ts, .mxf, .nut videos
  
  - `allowAudioFiles` (optional)
    Type: boolean
    
    If a user uploads an audio file, PeerTube will create a video by merging the preview file and the audio file
  
  - `threads` (optional)
    Type: integer
    
    Amount of threads used by ffmpeg for 1 transcoding job
  
  - `concurrency` (optional)
    Type: number
    
    Amount of transcoding jobs to execute in parallel
  
  - `profile` (optional)
    Type: string
    
    New profiles can be added by plugins ; available in core PeerTube: 'default'.
    
    
    enum: ["default"]
  
  - `resolutions` (optional)
    Type: object
    
    Resolutions to transcode _new videos_ to
    
    - `0p` (optional)
      Type: boolean
    
    - `144p` (optional)
      Type: boolean
    
    - `240p` (optional)
      Type: boolean
    
    - `360p` (optional)
      Type: boolean
    
    - `480p` (optional)
      Type: boolean
    
    - `720p` (optional)
      Type: boolean
    
    - `1080p` (optional)
      Type: boolean
    
    - `1440p` (optional)
      Type: boolean
    
    - `2160p` (optional)
      Type: boolean
  
  - `web_videos` (optional)
    Type: object
    
    Web Video specific settings
    
    - `enabled` (optional)
      Type: boolean
  
  - `hls` (optional)
    Type: object
    
    HLS specific settings
    
    - `enabled` (optional)
      Type: boolean
    
    - `splitAudioAndVideo` (optional)
      Type: boolean

- `import` (optional)
  Type: object
  
  - `videos` (optional)
    Type: object
    
    - `http` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
    
    - `torrent` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
  
  - `video_channel_synchronization` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean

- `autoBlacklist` (optional)
  Type: object
  
  - `videos` (optional)
    Type: object
    
    - `ofUsers` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean

- `blocklist` (optional)
  Type: object
  
  - `publicLog` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean

- `followers` (optional)
  Type: object
  
  - `instance` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
    
    - `manualApproval` (optional)
      Type: boolean

- `storyboard` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `defaults` (optional)
  Type: object
  
  - `publish` (optional)
    Type: object
    
    - `downloadEnabled` (optional)
      Type: boolean
    
    - `commentsPolicy` (optional)
      Reference: [VideoCommentsPolicySet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videocommentspolicyset.md); Type: VideoCommentsPolicySet
      
      Comments policy of the video (Enabled = `1`, Disabled = `2`, Requires Approval = `3`)
      
      enum: [1,2,3]
    
    - `recommendationScope` (optional)
      Reference: [VideoRecommendationScopeSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videorecommendationscopeset.md); Type: VideoRecommendationScopeSet
      
      Videos that can be recommended next to a video:
        - `1` All videos
        - `2` Only videos of the platform that owns the reference video (or of the current platform if no video is given)
        - `3` Only videos of the account that owns the reference video
        - `4` Only videos of the channel of the reference video
      
      This is a preference of the video owner: applications displaying recommendations may not apply it
      
      
      enum: [1,2,3,4]
    
    - `privacy` (optional)
      Reference: [VideoPrivacySet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videoprivacyset.md); Type: VideoPrivacySet
      
      privacy id of the video (see [/videos/privacies](#operation/getVideoPrivacyPolicies))
      
      enum: [1,2,3,4,5]
    
    - `licence` (optional)
      Reference: [VideoLicenceSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videolicenceset.md); Type: VideoLicenceSet
      
      licence id of the video (see [/videos/licences](#operation/getLicences))
      
      Example:
      
      ```json
      2
      ```
  
  - `p2p` (optional)
    Type: object
    
    - `webapp` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
    
    - `embed` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
  
  - `player` (optional)
    Type: object
    
    - `autoPlay` (optional)
      Type: boolean