Create BYCEPS Configuration File¶
To run BYCEPS, a configuration file is required. It usually resides in
config/
.
There is an example, config.toml.example
, that you can use as a
basis for your specific configuration.
Create a copy of the it to adjust as we go along:
$ cp config/config.toml.example config/config.toml
Set a Secret Key¶
A secret key is, among other things, required for login sessions. So let’s generate one in a cryptographically secure way:
$ uv run byceps generate-secret-key
Exemplary output:
3ac1c416bfacb82918d56720d1c3104fd96e8b8d4fbee42343ae7512a9ced293
Set this value in your configuration file so the line looks like this:
config/config.toml
¶secret_key = "3ac1c416bfacb82918d56720d1c3104fd96e8b8d4fbee42343ae7512a9ced293"
Note: This line has to be in the top part of the configuration file,
before any section ([…]
).
Attention
Do not use the above key (or any other key you copied from anywhere). Generate your own secret key!
Attention
Do not use the same key for development and production environments. Generate separate secret keys!
Map Applications¶
Since a single BYCEPS instance can provide the admin frontend, the API,
and one or more sites, a mapping (in the [apps]
section in the
configuration file) is required which defines which hostname will be
routed to which application.
For a local installation, you can go with the exemplary hostnames already defined in the example configuration file, which are:
admin.byceps.example
for the admin UIapi.byceps.example
for the APIcozylan.example
for the CozyLAN demo site
To be able to access them, add these entries to your local
/etc/hosts
file (or whatever the equivalent is for your operating system):excerpt from/etc/hosts
¶127.0.0.1 admin.byceps.example 127.0.0.1 api.byceps.example 127.0.0.1 cozylan.example
But if you are installing to a server on the Internet, substitute above hostnames in the configuration with ones that use actual, registered Internet domains.
Specify SMTP Server¶
BYCEPS needs to know of an SMTP server, or mail/message transport agent (MTA), to forward outgoing emails to.
The default is to expect a local one on localhost
and port 25
without authentication or encryption, like Sendmail or Postfix.
Another option is to use an external one (authentication and encryption are important here!) with a configuration like this:
config/config.toml
¶[smtp]
host = "smtp.provider.example"
port = 465
use_ssl = true
username = "smtp-user"
password = "smtp-password"
See the available SMTP configuration properties.
Set Environment Variable Automatically¶
The configuration file has to be specified when running most commands. This can be done by prefixing a command with the corresponding environment variable:
$ BYCEPS_CONFIG_FILE=config/config.toml uv run byceps
To avoid doing that everytime, the environment variable can be saved to
the .env
file in the BYCEPS project path. For example:
$ echo "BYCEPS_CONFIG_FILE=$PWD/config/config.toml" > ./.env
Be sure to use an absolute path so that the file can be found even when running commands from a sub-directory of the BYCEPS project path.