174 lines
5.8 KiB
YAML
174 lines
5.8 KiB
YAML
# MySQL server details
|
|
# server: domain or IP of MySQL server
|
|
# database: a MySQL database that the user specified has read/write access to
|
|
# user: username to authenticate as
|
|
# password: password for user
|
|
mysql:
|
|
server: 'localhost'
|
|
database: 'cytube3'
|
|
user: 'cytube3'
|
|
password: ''
|
|
|
|
# Define IPs/ports to listen on
|
|
# Each entry MUST define ip and port (ip can be '' to bind all available addresses)
|
|
# Each entry should set http, https, and/or io to true to listen for the corresponding
|
|
# service on that port. http/io and https/io can be combined, but if http and https
|
|
# are both specified, only https will be bound to that port.
|
|
#
|
|
# NOTE: You can technically bind an IPv6 address this way, but much of the code has not
|
|
# yet been updated to work with IPv6 addresses (ban ranges, IP masking, etc.)
|
|
# IPv6 support is planned, and the below method of binding servers is one step in that
|
|
# direction
|
|
listen:
|
|
# Default HTTP server - default interface, port 8080
|
|
- ip: ''
|
|
port: 8080
|
|
http: true
|
|
# Uncomment below to enable HTTPS/SSL websockets
|
|
# Note that you must also set https->enabled = true in the https definition
|
|
# - ip: ''
|
|
# port: 8443
|
|
# https: true
|
|
# io: true
|
|
# Default Socket.IO server - default interface, port 1337
|
|
- ip: ''
|
|
port: 1337
|
|
io: true
|
|
# Example of how to bind an extra port to HTTP and Socket.IO
|
|
# - ip: ''
|
|
# port: 8081
|
|
# http: true
|
|
# io: true
|
|
|
|
# HTTP server details
|
|
http:
|
|
# Even though you may specify multiple ports to listen on for HTTP above,
|
|
# one port must be specified as default for the purposes of generating
|
|
# links with the appropriate port
|
|
default-port: 8080
|
|
domain: 'http://localhost'
|
|
# Specifies the root domain for cookies. If you have multiple domains
|
|
# e.g. a.example.com and b.example.com, the root domain is example.com
|
|
root-domain: 'localhost'
|
|
# Specify alternate domains/hosts that are allowed to set the login cookie
|
|
# Leave out the http://
|
|
alt-domains:
|
|
- '127.0.0.1'
|
|
# Use express-minify to minify CSS and Javascript
|
|
minify: false
|
|
# Static content cache (in seconds)
|
|
cache-ttl: 0
|
|
|
|
# HTTPS server details
|
|
https:
|
|
enabled: false
|
|
# Even though you may specify multiple ports to listen on for HTTPS above,
|
|
# one port must be specified as default for the purposes of generating
|
|
# links with the appropriate port
|
|
default-port: 8443
|
|
domain: 'https://localhost'
|
|
keyfile: 'localhost.key'
|
|
passphrase: ''
|
|
certfile: 'localhost.cert'
|
|
cafile: ''
|
|
|
|
# Page template values
|
|
# title goes in the upper left corner, description goes in a <meta> tag
|
|
html-template:
|
|
title: 'CyTube',
|
|
description: 'Free, open source synchtube'
|
|
|
|
# Socket.IO server details
|
|
io:
|
|
# In most cases this will be the same as the http.domain.
|
|
# However, if your HTTP traffic is going through a proxy (e.g. cloudflare)
|
|
# you will want to set up a passthrough domain for socket.io.
|
|
# If the root of this domain is not the same as the root of your HTTP domain
|
|
# (or HTTPS if SSL is enabled), logins won't work.
|
|
domain: 'http://localhost'
|
|
# Even though you may specify multiple ports to listen on for HTTP above,
|
|
# one port must be specified as default for the purposes of generating
|
|
# links with the appropriate port
|
|
default-port: 1337
|
|
# limit the number of concurrent socket connections per IP address
|
|
ip-connection-limit: 10
|
|
|
|
# Mailer details (used for sending password reset links)
|
|
# see https://github.com/andris9/Nodemailer
|
|
mail:
|
|
enabled: false
|
|
transport: 'SMTP'
|
|
config:
|
|
service: 'Gmail'
|
|
auth:
|
|
user: 'some.user@gmail.com'
|
|
pass: 'supersecretpassword'
|
|
from-address: 'some.user@gmail.com'
|
|
|
|
# GData API v2 developer key (for non-anonymous youtube requests)
|
|
youtube-v2-key: ''
|
|
# Minutes between saving channel state to disk
|
|
channel-save-interval: 5
|
|
# Limit for the number of channels a user can register
|
|
max-channels-per-user: 5
|
|
# Limit for the number of accounts an IP address can register
|
|
max-accounts-per-ip: 5
|
|
# Minimum number of seconds between guest logins from the same IP
|
|
guest-login-delay: 60
|
|
# Block known Tor IP addresses
|
|
enable-tor-blocker: true
|
|
|
|
# Configure statistics tracking
|
|
stats:
|
|
# Interval (in milliseconds) between data points - default 1h
|
|
interval: 3600000
|
|
# Maximum age of a datapoint (ms) before it is deleted - default 24h
|
|
max-age: 86400000
|
|
|
|
# Configure periodic clearing of old alias data
|
|
aliases:
|
|
# Interval (in milliseconds) between subsequent runs of clearing
|
|
purge-interval: 3600000
|
|
# Maximum age of an alias (in milliseconds) - default 1 month
|
|
max-age: 2592000000
|
|
|
|
# Workaround for Vimeo blocking my domain
|
|
vimeo-workaround: false
|
|
|
|
# OPTIONAL: Use Vimeo's OAuth API instead of the anonymous API.
|
|
# This allows you to add private videos that have embedding enabled.
|
|
# See https://developer.vimeo.com/apps/new to register for this API.
|
|
# Note that in order to use this feature you must agree to Vimeo's
|
|
# Terms of Service and License Agreement.
|
|
vimeo-oauth:
|
|
enabled: false
|
|
consumer-key: ''
|
|
secret: ''
|
|
|
|
# Regular expressions for defining reserved user and channel names and page titles
|
|
# The list of regular expressions will be joined with an OR, and compared without
|
|
# case sensitivity.
|
|
#
|
|
# Default: reserve any name containing "admin[istrator]" or "owner" as a word
|
|
# but only if it is separated by a dash or underscore (e.g. dadmin is not reserved
|
|
# but d-admin is)
|
|
reserved-names:
|
|
usernames:
|
|
- '^(.*?[-_])?admin(istrator)?([-_].*)?$'
|
|
- '^(.*?[-_])?owner([-_].*)?$'
|
|
channels:
|
|
- '^(.*?[-_])?admin(istrator)?([-_].*)?$'
|
|
- '^(.*?[-_])?owner([-_].*)?$'
|
|
pagetitles: []
|
|
|
|
# Provide a contact list for the /contact page
|
|
contacts:
|
|
- name: 'calzoneman'
|
|
title: 'Developer'
|
|
email: 'cyzon@cytu.be'
|
|
|
|
# If set to true, when the ipThrottle and lastguestlogin rate limiters are cleared
|
|
# periodically, the garbage collector will be invoked immediately.
|
|
# The server must be invoked with node --expose-gc index.js for this to have any effect.
|
|
aggressive-gc: false
|