· 6 years ago · Oct 24, 2019, 07:30 PM
1# MySQL server details
2# server: domain or IP of MySQL server
3# database: a MySQL database that the user specified has read/write access to
4# user: username to authenticate as
5# password: password for user
6mysql:
7 server: 'localhost'
8 port: 3306
9 database: '###'
10 user: '###'
11 password: '###'
12 pool-size: 10
13
14# Define IPs/ports to listen on
15# Each entry MUST define ip and port (ip can be '' to bind all available addresses)
16# Each entry should set http, https, and/or io to true to listen for the corresponding
17# service on that port. http/io and https/io can be combined, but if http and https
18# are both specified, only https will be bound to that port.
19#
20# If you don't specify a url, the url io.domain:port or https.domain:port will be assumed
21# for non-ssl and ssl websockets, respectively. You can override this by specifying the
22# url for a websocket listener.
23listen:
24# Default HTTP server - default interface, port 8080
25 - ip: ''
26 port: 8090
27 http: true
28# Uncomment below to enable HTTPS/SSL websockets
29# Note that you must also set https->enabled = true in the https definition
30 - ip: 'https://musik.fabian27496.de:8443/socket.io/socket.io.js'
31 port: 8443
32 https: true
33 io: true
34# Default Socket.IO server - default interface, port 1337
35 - ip: ''
36 port: 1337
37 io: true
38# Example of how to bind an extra port to HTTP and Socket.IO
39# - ip: ''
40# port: 8081
41# http: true
42# io: true
43# url: 'http://my-other-thing.site.com:8081'
44
45# HTTP server details
46http:
47 # Even though you may specify multiple ports to listen on for HTTP above,
48 # one port must be specified as default for the purposes of generating
49 # links with the appropriate port
50 default-port: 8090
51 # Specifies the root domain for cookies. If you have multiple domains
52 # e.g. a.example.com and b.example.com, the root domain is example.com
53 root-domain: '85.214.149.134'
54 # Specify alternate domains/hosts that are allowed to set the login cookie
55 # Leave out the http://
56 alt-domains:
57 - '127.0.0.1'
58 # Use express-minify to minify CSS and Javascript
59 minify: false
60 # Max-Age for caching. Value should be an integer in milliseconds or a string accepted by
61 # the `ms` module. Set to 0 to disable caching.
62 max-age: '30d'
63 # Set to false to disable gzip compression
64 gzip: true
65 # Customize the threshold byte size for applying gzip
66 gzip-threshold: 1024
67 # Secret used for signed cookies. Can be anything, but make it unique and hard to guess
68 cookie-secret: 'fabian27496.de'
69 index:
70 # Maximum number of channels to display on the index page public channel list
71 max-entries: 50
72 # Configure trusted proxy addresses to map X-Forwarded-For to the client IP.
73 # See also: https://github.com/jshttp/proxy-addr
74 trust-proxies: ['loopback']
75
76# HTTPS server details
77https:
78 enabled: false
79 # Even though you may specify multiple ports to listen on for HTTPS above,
80 # one port must be specified as default for the purposes of generating
81 # links with the appropriate port
82 default-port: 8443
83 domain: '85.214.149.134'
84 keyfile: ''
85 passphrase: ''
86 certfile: ''
87 cafile: ''
88 ciphers: 'HIGH:!DSS:!aNULL@STRENGTH'
89
90# Page template values
91# title goes in the upper left corner, description goes in a <meta> tag
92html-template:
93 title: 'Musik sync by Fabian27496'
94 description: 'Youtube sync by Fabian27496'
95
96# Socket.IO server details
97io:
98 # In most cases this will be the same as the http.domain.
99 # However, if your HTTP traffic is going through a proxy (e.g. cloudflare)
100 # you will want to set up a passthrough domain for socket.io.
101 # If the root of this domain is not the same as the root of your HTTP domain
102 # (or HTTPS if SSL is enabled), logins won't work.
103 domain: 'http://musik.fabian27496.de:8443'
104 # Even though you may specify multiple ports to listen on for HTTP above,
105 # one port must be specified as default for the purposes of generating
106 # links with the appropriate port
107 default-port: 1337
108 # limit the number of concurrent socket connections per IP address
109 ip-connection-limit: 10
110
111# YouTube v3 API key
112# 1. Go to https://console.developers.google.com/, create a new "project" (or choose an existing one)
113# 2. Make sure the YouTube Data v3 API is "enabled" for your project: https://console.developers.google.com/apis/library/youtube.googleapis.com
114# 3. Go to "Credentials" on the sidebar of https://console.developers.google.com/, click "Create credentials" and choose type "API key"
115# 4. Optionally restrict the key for security, or just copy the key.
116# 5. Test your key (may take a few minutes to become active):
117#
118# $ export YOUTUBE_API_KEY="your key here"
119# $ curl "https://www.googleapis.com/youtube/v3/search?key=$YOUTUBE_API_KEY&part=id&maxResults=1&q=test+video&type=video"
120youtube-v3-key: '#####################################'
121# Limit for the number of channels a user can register
122max-channels-per-user: 25
123# Limit for the number of accounts an IP address can register
124max-accounts-per-ip: 5
125# Minimum number of seconds between guest logins from the same IP
126guest-login-delay: 60
127
128# Allows you to customize the path divider. The /r/ in http://localhost/r/yourchannel
129# Acceptable characters are a-z A-Z 0-9 _ and -
130channel-path: 'r'
131# Allows you to blacklist certain channels. Users will be automatically kicked
132# upon trying to join one.
133channel-blacklist: []
134# Minutes between saving channel state to disk
135channel-save-interval: 5
136# Determines channel data storage mechanism.
137channel-storage:
138 type: 'database'
139
140# Configure periodic clearing of old alias data
141aliases:
142 # Interval (in milliseconds) between subsequent runs of clearing
143 purge-interval: 3600000
144 # Maximum age of an alias (in milliseconds) - default 1 month
145 max-age: 2592000000
146
147# Workaround for Vimeo blocking my domain
148vimeo-workaround: false
149
150# Regular expressions for defining reserved user and channel names and page titles
151# The list of regular expressions will be joined with an OR, and compared without
152# case sensitivity.
153#
154# Default: reserve any name containing "admin[istrator]" or "owner" as a word
155# but only if it is separated by a dash or underscore (e.g. dadmin is not reserved
156# but d-admin is)
157reserved-names:
158 usernames:
159 - '^(.*?[-_])?admin(istrator)?([-_].*)?$'
160 - '^(.*?[-_])?owner([-_].*)?$'
161 channels:
162 - '^(.*?[-_])?admin(istrator)?([-_].*)?$'
163 - '^(.*?[-_])?owner([-_].*)?$'
164 pagetitles: []
165
166# Provide a contact list for the /contact page
167# Example:
168# contacts:
169# - name: 'my_name'
170# title: 'administrator
171# email: 'me@my.site'
172contacts:
173 - name: 'Fabian ####'
174 title: 'administrator'
175 email: 'Fabian@Fabian27496'
176
177playlist:
178 max-items: 4000
179 # How often (in seconds), mediaUpdate packets are broadcast to clients
180 update-interval: 5
181
182# If set to true, when the ipThrottle and lastguestlogin rate limiters are cleared
183# periodically, the garbage collector will be invoked immediately.
184# The server must be invoked with node --expose-gc index.js for this to have any effect.
185aggressive-gc: false
186
187# If you have ffmpeg installed, you can query metadata from raw files, allowing
188# server-synched raw file playback. This requires the following:
189# * ffmpeg must be installed on the server
190ffmpeg:
191 enabled: false
192# Executable name for ffprobe if it is not "ffprobe". On Debian and Ubuntu (on which
193# libav is used rather than ffmpeg proper), this is "avprobe"
194 ffprobe-exec: 'ffprobe'
195
196link-domain-blacklist: []
197
198# Drop root if started as root!!
199setuid:
200 enabled: false
201 group: 'users'
202 user: 'user'
203# how long to wait in ms before changing uid/gid
204 timeout: 15
205
206# Allows for external services to access the system commandline
207# Useful for setups where stdin isn't available such as when using PM2
208service-socket:
209 enabled: false
210 socket: 'service.sock'
211
212# Twitch Client ID for the data API (used for VOD lookups)
213# https://github.com/justintv/Twitch-API/blob/master/authentication.md#developer-setup
214twitch-client-id: ############################
215
216# Mixer Client ID (https://mixer.com/lab)
217mixer-client-id: ########################
218
219poll:
220 max-options: 50