construct/doc/SETUP.md

2.5 KiB

SETUP

This guide will help you execute Construct for the first time. If you are building from source code and have not already done so please follow the instructions in BUILD before continuing here.

NOTES

  • We will refer to your server as host.tld. For those familiar with matrix: this is your origin and mxid @user:host.tld hostpart. If you delegate your server's location to something like matrix.host.tld:1234 we refer to this as your servername.

Construct clusters all share the same origin but each individual instance of the daemon has a unique servername.

  • If you built construct yourself as a standalone build you will need to add the included library directories before executing: export LD_LIBRARY_PATH=/path/to/src/deps/boost/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/path/to/src/deps/rocksdb:$LD_LIBRARY_PATH

PROCEDURE

  1. Execute

    There are two arguments: <origin> [servername]. If the servername argument is missing, the origin will be used for it instead.

    bin/construct host.tld
    

    There is no configuration file.

    Log messages will appear in terminal concluding with notice IRCd RUN.

  2. Strike ctrl-c on keyboard

    The command-line console will appear.

  3. Create a general listener socket by entering the following command:

    net listen matrix * 8448 privkey.pem cert.pem chain.pem
    
    • matrix is your name for this listener; you can use any name.
    • * and 8448 is the local address and port to bind.
    • privkey.pem and cert.pem and chain.pem are paths (ideally absolute paths) to PEM-format files for the listener's TLS.

    The Matrix Federation Tester should now pass. Browse to https://matrix.org/federationtester/api/report?server_name=host.tld and verify "AllChecksOK": true

  4. To use a web-based client like Riot, configure the "web root" directory to point at Riot's webapp/ directory by entering the following:

    conf set ircd.web.root.path /path/to/riot-web/webapp/
    mod reload web_root
    
  5. Browse to https://host.tld:8448/ and register a user.

ADDENDUM

  • If you are employing a reverse-proxy you must review the apropos section in the TROUBLESHOOTING guide or the server may not operate correctly.

  • Logging to files is only enabled by default for CRITICAL, ERROR, and WARNING. It is not enabled by default for the INFO level. To enable, use conf set ircd.log.info.file.enable true.