mirror of
https://github.com/computernewb/collabvm-1.2.ts.git
synced 2025-01-22 10:42:00 -05:00
405e88bd1b
probably limited utility wise but it's there now
163 lines
5.8 KiB
TOML
163 lines
5.8 KiB
TOML
[http]
|
|
host = "0.0.0.0"
|
|
port = 6004
|
|
# Whether the server is behind a reverse proxy, like NGINX
|
|
proxying = false
|
|
# IPs allowed to access the server in proxy mode.
|
|
# 99% of the time this will only be 127.0.0.1
|
|
proxyAllowedIps = ["127.0.0.1"]
|
|
# Whether the Origin header check is enabled.
|
|
origin = false
|
|
# Origins to accept connections from.
|
|
originAllowedDomains = ["computernewb.com"]
|
|
|
|
[geoip]
|
|
# Enables support for showing country flags next to usernames.
|
|
enabled = false
|
|
# Directory to store and load GeoIP databases from.
|
|
directory = "geoip/"
|
|
# MaxMind license key and account ID (https://www.maxmind.com/en/accounts/current/license-key)
|
|
accountID = ""
|
|
licenseKey = ""
|
|
|
|
[tcp]
|
|
# Enabled the raw TCP socket server
|
|
# You usually want to leave this disabled
|
|
enabled = false
|
|
host = "0.0.0.0"
|
|
port = 6014
|
|
|
|
[auth]
|
|
# Enables the CollabVM account authentication system
|
|
# Requires an authentication server (https://git.computernewb.com/collabvm/CollabVMAuthServer)
|
|
enabled = false
|
|
apiEndpoint = ""
|
|
secretKey = "hunter2"
|
|
|
|
# When account authentication is enabled, this section defines what guests can and can't do
|
|
# Has no effect if auth is disabled
|
|
[auth.guestPermissions]
|
|
chat = true
|
|
turn = false
|
|
callForReset = false
|
|
vote = true
|
|
|
|
[vm]
|
|
# Configures the type of VM this server will use
|
|
# Supported values:
|
|
# "qemu" - Runs a QEMU VM
|
|
# "vncvm" - Connects to an existing VNC server
|
|
type = "qemu"
|
|
|
|
# QEMU options
|
|
# Only used if vm.type is set to "qemu"
|
|
[qemu]
|
|
qemuArgs = "qemu-system-x86_64"
|
|
# VNC port to be used for this VM. Must be unique among all VMs. Only used on Windows, as unix sockets are used on Linux.
|
|
vncPort = 5900
|
|
snapshots = true
|
|
|
|
# Resource limits.
|
|
# Only works on Linux, with `Delegate=yes` set in your .service file. No-op on other platforms.
|
|
#
|
|
# cpuUsageMax is an optional value specifies the max CPU usage as percentage in the common top notation.
|
|
# 200% means 2 CPUs, 400% is 4 CPUs.
|
|
#
|
|
# A general reccomendation is to set this to 100*[vCPU count].
|
|
# For example, if your QEMU command line contains -smp cores=2, then cpuUsageMax should be 200.
|
|
# For an overcomitted host, you can use lower values,
|
|
# but it *can* get noticable if you throttle CPU too low.
|
|
#
|
|
# runOnCpus is an optional array that specifies what CPUs the VM is allowed to run on.
|
|
# This option will *not* work if you do not use a system service. (effectively, it will be a loud no-op that logs an error on startup).
|
|
#
|
|
# periodMs is an optional value in milliseconds that specifies the cgroup's CPU accounting period.
|
|
# The default is 100 ms (which matches the cgroups2 defaults), and should work in pretty much all cases, but
|
|
# it's a knob provided for any addl. tuning purposes.
|
|
#
|
|
# limitProcess is an optional boolean (default false) that determines if only qemu vCPU threads are put into the cgroup,
|
|
# or the entire QEMU process (incl. all its threads). The default behaviour of only limiting vCPU threads
|
|
# is more than likely what you want, so the example configuration omits specifying this key.
|
|
#
|
|
# Commenting or removing this table from the configuration disables resource limiting entirely.
|
|
resourceLimits = { cpuUsageMax = 100, runOnCpus = [ 2, 4 ] }
|
|
|
|
|
|
# VNC options
|
|
# Only used if vm.type is set to "vncvm"
|
|
[vncvm]
|
|
vncHost = "127.0.0.1"
|
|
vncPort = 5900
|
|
# startCmd = ""
|
|
# stopCmd = ""
|
|
# rebootCmd = ""
|
|
# restoreCmd = ""
|
|
|
|
[mysql]
|
|
# Configures the MySQL database. This is ONLY required if you use the internal cvmban banning system (configured below)
|
|
enabled = false
|
|
host = "127.0.0.1"
|
|
username = "root"
|
|
password = "hunter2"
|
|
database = "cvmts"
|
|
|
|
# This section configures banning users. Note that if you leave this default, banning will NOT function and will be as effective as a kick.
|
|
[bans]
|
|
# If defined, a command that is run to ban a user from the VM.
|
|
# Use $IP to specify an ip and (optionally) use $NAME to specify a username
|
|
# bancmd = ""
|
|
# If true, enables the internal banning of users using the above MySQL database
|
|
cvmban = false
|
|
|
|
[collabvm]
|
|
# Node ID for this server
|
|
# Make sure this is unique among all the other nodes in a webapp
|
|
node = "acoolvm"
|
|
# HTML display name shown on the VM list
|
|
displayname = "A <b>Really</b> Cool CollabVM Instance"
|
|
# HTML message shown in the chat when a user joins
|
|
motd = "welcome!"
|
|
# Maximum amount of active connections allowed from the same IP.
|
|
maxConnections = 3
|
|
# Moderator rank enabled (permissions are defined below)
|
|
moderatorEnabled = true
|
|
# List of disallowed usernames
|
|
usernameblacklist = []
|
|
# Maximum length of a chat message
|
|
maxChatLength = 100
|
|
# Maximum messages in the chat history buffer before old messages are overwritten
|
|
maxChatHistoryLength = 10
|
|
# Limit the amount of users allowed in the turn queue at the same time from the same IP
|
|
turnlimit = { enabled = true, maximum = 1 }
|
|
# Temporarily mute a user if they send more than x messages in n seconds
|
|
automute = { enabled = true, seconds = 5, messages = 5 }
|
|
# How long a temporary mute lasts, in seconds
|
|
tempMuteTime = 30
|
|
# How long a turn lasts, in seconds
|
|
turnTime = 20
|
|
# How long a reset vote lasts, in seconds
|
|
voteTime = 100
|
|
# How long until another vote can be started, in seconds
|
|
voteCooldown = 180
|
|
# SHA256 sum of the admin and mod passwords. This can be generated with the following command:
|
|
# printf "<password>" | sha256sum -
|
|
# Example hash is hunter2 and hunter3
|
|
adminpass = "f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7"
|
|
modpass = "fb8c2e2b85ca81eb4350199faddd983cb26af3064614e737ea9f479621cfa57a"
|
|
# Whether a password is required to take a turn
|
|
turnwhitelist = false
|
|
# SHA256 sum for the password to take a turn. Only takes effect if turnwhitelist == true. If set to an empty string or not provided, only admins and mods can take turns
|
|
turnpass = ""
|
|
|
|
# What a moderator can and can't do
|
|
[collabvm.moderatorPermissions]
|
|
restore = true
|
|
reboot = true
|
|
ban = true
|
|
forcevote = true
|
|
mute = true
|
|
kick = true
|
|
bypassturn = true
|
|
rename = true
|
|
grabip = true
|
|
xss = true
|