enigma-bbs/configuration/config-hjson.html

2345 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" sizes="16x16" href="/enigma-bbs/assets/images/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png">
<link rel="stylesheet" href="/enigma-bbs/assets/css/style.css?v=">
<!-- Begin Jekyll SEO tag v2.7.1 -->
<title>System Configuration | ENiGMA½ BBS Software</title>
<meta name="generator" content="Jekyll v4.2.1" />
<meta property="og:title" content="System Configuration" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js." />
<meta property="og:description" content="System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js." />
<meta property="og:site_name" content="ENiGMA½ BBS Software" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2022-04-12T17:40:55+00:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="System Configuration" />
<script type="application/ld+json">
{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js.","url":"/enigma-bbs/configuration/config-hjson.html","@type":"BlogPosting","headline":"System Configuration","dateModified":"2022-04-12T17:40:55+00:00","datePublished":"2022-04-12T17:40:55+00:00","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/config-hjson.html"},"@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="sidebar" id="sidebar">
<hr class="mobile-divide">
<div class="container">
<a href="/enigma-bbs/"><img src="/enigma-bbs/assets/images/enigma-logo.png" class="logo" alt="Enigma logo"></a>
</div>
<ul>
<li>Installation</li>
<ul>
<li><a href="/enigma-bbs/installation/installation-methods.html">Installation Methods</a></li>
<li><a href="/enigma-bbs/installation/install-script.html">Install Script</a></li>
<li><a href="/enigma-bbs/installation/docker.html">Docker</a></li>
<li><a href="/enigma-bbs/installation/manual.html">Manual Installation</a></li>
<li>OS / Hardware Specific</li>
<ul>
<li><a href="/enigma-bbs/installation/hardware/rpi.html">Raspberry Pi</a></li>
<li><a href="/enigma-bbs/installation/hardware/windows.html">Installation Under Windows</a></li>
</ul>
<li><a href="/enigma-bbs/installation/network.html">Network Setup</a></li>
<li><a href="/enigma-bbs/installation/testing.html">Testing Your Installation</a></li>
<li><a href="/enigma-bbs/installation/production.html">Production Installation</a></li>
</ul>
<li>Configuration</li>
<ul>
<li><a href="/enigma-bbs/configuration/creating-config.html">Creating Initial Config Files</a></li>
<li><a href="/enigma-bbs/configuration/sysop-setup.html">SysOp Setup</a></li>
<li><a href="/enigma-bbs/configuration/config-files.html">Configuration Files</a></li>
<li class="active-nav">System Configuration</li>
<li><a href="/enigma-bbs/configuration/hjson.html">HJSON Config Files</a></li>
<li><a href="/enigma-bbs/configuration/menu-hjson.html">Menu HSJON</a></li>
<li><a href="/enigma-bbs/configuration/directory-structure.html">Directory Structure</a></li>
<li><a href="/enigma-bbs/configuration/external-binaries.html">External Support Binaries</a></li>
<li><a href="/enigma-bbs/configuration/archivers.html">Archivers</a></li>
<li><a href="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a></li>
<li><a href="/enigma-bbs/configuration/email.html">Email</a></li>
<li><a href="/enigma-bbs/configuration/colour-codes.html">Colour Codes</a></li>
<li><a href="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a></li>
<li><a href="/enigma-bbs/configuration/acs.html">Access Condition System (ACS)</a></li>
<li><a href="/enigma-bbs/configuration/security.html">Security</a></li>
</ul>
<li>Miscellaneous</li>
<ul>
<li><a href="/enigma-bbs/misc/user-interrupt.html">User Interruptions</a></li>
</ul>
<li>File Base</li>
<ul>
<li><a href="/enigma-bbs/filebase/index.html">About File Areas</a></li>
<li><a href="/enigma-bbs/filebase/first-file-area.html">Configuring a File Base</a></li>
<li><a href="/enigma-bbs/filebase/acs.html">ACS</a></li>
<li><a href="/enigma-bbs/filebase/uploads.html">Uploads</a></li>
<li><a href="/enigma-bbs/filebase/web-access.html">Web Access</a></li>
<li><a href="/enigma-bbs/filebase/tic-support.html">TIC Support</a></li>
<li><a href="/enigma-bbs/filebase/network-mounts-and-symlinks.html">Network Mounts &amp; Symlinks</a></li>
</ul>
<li>Message Areas</li>
<ul>
<li><a href="/enigma-bbs/messageareas/configuring-a-message-area.html">Message Base</a></li>
<li><a href="/enigma-bbs/messageareas/message-networks.html">Message Networks</a></li>
<li><a href="/enigma-bbs/messageareas/bso-import-export.html">BSO Import / Export</a></li>
<li><a href="/enigma-bbs/messageareas/netmail.html">Netmail</a></li>
<li><a href="/enigma-bbs/messageareas/qwk.html">QWK Support</a></li>
<li><a href="/enigma-bbs/messageareas/ftn.html">FidoNet-Style Networks (FTN)</a></li>
</ul>
<li>Art</li>
<ul>
<li><a href="/enigma-bbs/art/general.html">General Art Information</a></li>
<li><a href="/enigma-bbs/art/themes.html">Themes</a></li>
<li><a href="/enigma-bbs/art/mci.html">MCI Codes</a></li>
<li>Views</li>
<ul>
<li><a href="/enigma-bbs/art/views/button_view.html">Button View</a></li>
<li><a href="/enigma-bbs/art/views/edit_text_view.html">Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/full_menu_view.html">Full Menu View</a></li>
<li><a href="/enigma-bbs/art/views/horizontal_menu_view.html">Horizontal Menu View</a></li>
<li><a href="/enigma-bbs/art/views/mask_edit_text_view.html">Mask Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/multi_line_edit_text_view.html">Multi Line Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/predefined_label_view.html">Predefined Label View</a></li>
<li><a href="/enigma-bbs/art/views/spinner_menu_view.html">Spinner Menu View</a></li>
<li><a href="/enigma-bbs/art/views/text_view.html">Text View</a></li>
<li><a href="/enigma-bbs/art/views/toggle_menu_view.html">Toggle Menu View</a></li>
<li><a href="/enigma-bbs/art/views/vertical_menu_view.html">Vertical Menu View</a></li>
</ul>
</ul>
<li>Servers</li>
<ul>
<li>Login Servers</li>
<ul>
<li><a href="/enigma-bbs/servers/loginservers/telnet.html">Telnet Server</a></li>
<li><a href="/enigma-bbs/servers/loginservers/ssh.html">SSH Server</a></li>
<li><a href="/enigma-bbs/servers/loginservers/websocket.html">Web Socket / Web Interface Server</a></li>
</ul>
<li>Content Servers</li>
<ul>
<li><a href="/enigma-bbs/servers/contentservers/web-server.html">Web Server</a></li>
<li><a href="/enigma-bbs/servers/contentservers/gopher.html">Gopher Server</a></li>
<li><a href="/enigma-bbs/servers/contentservers/nntp.html">NNTP Server</a></li>
</ul>
</ul>
<li>Modding</li>
<ul>
<li><a href="/enigma-bbs/modding/local-doors.html">Local Doors</a></li>
<li><a href="/enigma-bbs/modding/door-servers.html">Door Servers</a></li>
<li><a href="/enigma-bbs/modding/telnet-bridge.html">Telnet Bridge</a></li>
<li><a href="/enigma-bbs/modding/existing-mods.html">Existing Mods</a></li>
<li><a href="/enigma-bbs/modding/file-area-list.html">File Area List</a></li>
<li><a href="/enigma-bbs/modding/last-callers.html">Last Callers</a></li>
<li><a href="/enigma-bbs/modding/whos-online.html">Who's Online</a></li>
<li><a href="/enigma-bbs/modding/user-list.html">User List</a></li>
<li><a href="/enigma-bbs/modding/msg-conf-list.html">Message Conference List</a></li>
<li><a href="/enigma-bbs/modding/msg-area-list.html">Message Area List</a></li>
<li><a href="/enigma-bbs/modding/bbs-list.html">BBS List</a></li>
<li><a href="/enigma-bbs/modding/rumorz.html">Rumorz</a></li>
<li><a href="/enigma-bbs/modding/file-transfer-protocol-select.html">File Transfer Protocol Select</a></li>
<li><a href="/enigma-bbs/modding/onelinerz.html">Onelinerz</a></li>
<li><a href="/enigma-bbs/modding/show-art.html">The Show Art Module</a></li>
<li><a href="/enigma-bbs/modding/file-base-download-manager.html">File Base Download Manager</a></li>
<li><a href="/enigma-bbs/modding/file-base-web-download-manager.html">File Base Web Download Manager</a></li>
<li><a href="/enigma-bbs/modding/set-newscan-date.html">Set Newscan Date Module</a></li>
<li><a href="/enigma-bbs/modding/node-msg.html">Node to Node Messaging</a></li>
<li><a href="/enigma-bbs/modding/top-x.html">TopX</a></li>
<li><a href="/enigma-bbs/modding/user-2fa-otp-config.html">2FA/OTP Config</a></li>
<li><a href="/enigma-bbs/modding/autosig-edit.html">Auto Signature Editor</a></li>
<li><a href="/enigma-bbs/modding/menu-modules.html">Menu Modules</a></li>
</ul>
<li>Administration</li>
<ul>
<li><a href="/enigma-bbs/admin/administration.html">Administration</a></li>
<li><a href="/enigma-bbs/admin/oputil.html">oputil</a></li>
<li><a href="/enigma-bbs/admin/updating.html">Updating</a></li>
</ul>
<li>Troubleshooting</li>
<ul>
<li><a href="/enigma-bbs/troubleshooting/monitoring-logs.html">Monitoring Logs</a></li>
</ul>
</ul>
</div>
<div class="main_area">
<div class="container">
<section id="main_content">
<div class="PageNavigation">
<a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/configuration/config-files.html">« Configuration Files</a>
<a href="#sidebar" class="btn menu_button">MENU</a>
<a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/configuration/hjson.html">HJSON Config Files »</a>
<br clear="both">
</div>
<div class="page">
<h1 class="page-title">System Configuration</h1>
<h2 id="system-configuration">System Configuration</h2>
<p>The main system configuration file, <code class="language-plaintext highlighter-rouge">config.hjson</code> both overrides defaults and provides additional configuration such as message areas. Defaults lived in <code class="language-plaintext highlighter-rouge">core/config_default.js</code>.</p>
<p>The default path is <code class="language-plaintext highlighter-rouge">/enigma-bbs/config/config.hjson</code> though this can be overridden using the <code class="language-plaintext highlighter-rouge">--config</code> parameter when invoking <code class="language-plaintext highlighter-rouge">main.js</code>.</p>
<p><img class="emoji" title=":information_source:" alt=":information_source:" src="https://github.githubassets.com/images/icons/emoji/unicode/2139.png" height="20" width="20"> See also <a href="/enigma-bbs/configuration/config-files.html">Configuration Files</a>. Additionally <a href="/enigma-bbs/configuration/hjson.html">HJSON General Information</a> may be helpful for more information on the HJSON format.</p>
<h3 id="creating-a-configuration">Creating a Configuration</h3>
<p>Your initial configuration skeleton should be created using the <code class="language-plaintext highlighter-rouge">oputil.js</code> command line utility. From your enigma-bbs root directory:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./oputil.js config new
</code></pre></div></div>
<p>You will be asked a series of questions to create an initial configuration.</p>
<h3 id="overriding-defaults">Overriding Defaults</h3>
<p>The file <code class="language-plaintext highlighter-rouge">core/config_default.js</code> provides various defaults to the system that you can override via <code class="language-plaintext highlighter-rouge">config.hjson</code>. For example, the default system name is defined as follows:</p>
<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">general</span> <span class="p">:</span> <span class="p">{</span>
<span class="nl">boardName</span> <span class="p">:</span> <span class="dl">'</span><span class="s1">Another Fine ENiGMA½ System</span><span class="dl">'</span>
<span class="p">}</span>
</code></pre></div></div>
<p>To override this for your own board, in <code class="language-plaintext highlighter-rouge">config.hjson</code>:</p>
<pre><code class="language-hjson">general: {
boardName: Super Fancy BBS
}
</code></pre>
<p>(Note the very slightly <a href="/enigma-bbs/configuration/hjson.html">HJSON</a> different syntax. <strong>You can use standard JSON if you wish!</strong>)</p>
<p>While not everything that is available in your <code class="language-plaintext highlighter-rouge">config.hjson</code> file can be found defaulted in <code class="language-plaintext highlighter-rouge">core/config_default.js</code>, a lot is. <a href="https://github.com/NuSkooler/enigma-bbs/blob/master/core/config_default.js">Poke around and see what you can find</a>!</p>
<h3 id="configuration-sections">Configuration Sections</h3>
<p>Below is a list of various configuration sections. There are many more, but this should get you started:</p>
<ul>
<li><a href="/enigma-bbs/configuration/acs.html">ACS</a></li>
<li>
<a href="/enigma-bbs/configuration/archivers.html">Archivers</a>: Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.</li>
<li>
<a href="/enigma-bbs/configuration/email.html">Email</a>: System email support.</li>
<li>
<a href="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a>: Set up events as you see fit!</li>
<li><a href="/enigma-bbs/filebase/index.html">File Base</a></li>
<li>
<a href="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a>: Oldschool file transfer protocols such as X/Y/Z-Modem!</li>
<li>
<a href="/enigma-bbs/messageareas/configuring-a-message-area.html">Message Areas</a>, <a href="/enigma-bbs/messageareas/message-networks.html">Networks</a>, <a href="/enigma-bbs/messageareas/netmail.html">NetMail</a>, etc.</li>
<li>…and a <strong>lot</strong> more! Explore the docs! If you cant find something, please contact us!</li>
</ul>
</div>
<div class="PageNavigation">
<a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/configuration/config-files.html">« Configuration Files</a>
<a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/configuration/hjson.html">HJSON Config Files »</a>
<br clear="both">
</div>
</section>
</div>
</div>
</div>
</body>
</html>