Cellframe Node General Configuration File is located in
` <Config.dir> /opt/cellframe-node/etc/cellframe-node.cfg`
Config consists of sections and their parameters with the following structure:
```ini
[section]
key=value
value: string/boolean/array/integer
```
Value types description:
```ini
boolean - 1/0/true/false
integer - numbers
string - words, sentences, numbers or chars
array - [ ]
```
## General config sections
- [[Cellframe Node General Config#Section [general]| general]] - cellframe-node general configuration
- [[Cellframe Node General Config#Section [server]| server]] - configuration related to HTTP processing
- [[Cellframe Node General Config#Section [notify_server]| notify_server]] - server settings for Cellframe wallet notifications
- [[Cellframe Node General Config#Section [stream]| stream]] - stream configuration settings
- [[Cellframe Node General Config#Section [dns_client]| dns_client]] - programm which transforms node adresses into IP's
- [[Cellframe Node General Config#Section [bootstrap balancer]| bootstrap balancer]] - load balancer configuration
- [[Cellframe Node General Config#Section [ledger]| ledger]] - settings of the main network/chain [[Ledger|registry]]
- [[Cellframe Node General Config#Section [dag]| dag]] - [[DAG]] chain configuration
- [[Cellframe Node General Config#Section [node_client]| node_client]] - settings for client's connection to another node
- [[Cellframe Node General Config#Section [srv]| srv]] - paid services configuration
- [[Cellframe Node General Config#Section [srv_dns]| srv_dns]] - DNS settings for paid services
- [[Cellframe Node General Config#Section [mempool]| mempool]] - [[Mempool]] configuration
- [[Cellframe Node General Config#Section [chain_net]| chain_net]] - [[Chain]] configuration settings
- [[Cellframe Node General Config#Section [stream_ch_chain]| stream_ch_chain]] - chain synchronization channels settings
- [[Cellframe Node General Config#Section [srv_vpn]| srv_vpn]] - [[Resources/Terms and definitions/KelVPN|VPN]] configuration
- [[Cellframe Node General Config#Section [conserver]| conserver]] - [[5. CLI Node Commands]] configuration
- [[Cellframe Node General Config#Section [resources]| resources]] - extra node settings
- [[Cellframe Node General Config#Section [global_db]| global_db]] - [[Global Database (GDB)]] settings
- [[Cellframe Node General Config#Section [plugins]| plugins]] - python plugins configuration
### Section: [general]
General settings for cellframe-node
#### Parameters
```ini
debug_mode
values: boolean (true by default)
```
- enables global debug logging for [[Node| cellframe-node]]
```ini
debug_reactor
values: boolean (false by default)
```
- enables global debug [[Reactor]] logging
```ini
debug_dump_stream_headers
values: boolean (false by default)
```
- enables global debug logging for stream packets
```ini
debug_http
values: boolean (false by default)
```
- enables global debug logging for HTTP protocols
```ini
seed_mode
values: boolean (false by default)
```
- [[Seed Mode]] is needed for starting new network from the scratch
```ini
auto_online
values: boolean (false by default)
```
- brings up links and synchronizes everything over them
### Section: [server]
Node settings, related with maintenance of incoming connections
#### Parameters
```ini
enabled
values: boolean (false by default)
```
- opens ports to internet and listens to links if enabled
```ini
news_url_enabled
values: boolean (false by default)
```
- turns on news URL
```ini
bugreport_url_enabled
values: boolean (false by default)
```
- turns on bugreport URL
```ini
listen_address
values: str (0.0.0.0 by default)
```
- sets listening address
```ini
listen_port_tcp
values: int (8079 by default)
```
- sets listening TCP port
```ini
ext_address
values: str (8.9.10.11 by default)
```
- sets external IPv4 address
```ini
ext_address6
values: str (aaaa:bbbb:deee:96ff:feee:3fff by default)
```
- sets external IPv6 address (will be implemented in the future)
```ini
ext_port_tcp
values: int (8089 by default)
```
- TCP port for node table autofilling
### Section: [notify_server]
Server settings for Cellframe Wallet notifications
Node notifies about their states (port receives data packages)
#### Parameters
```ini
listen_path
values: str (/opt/cellframe-node/var/run/node_notify by default)
```
- sets listening path
```ini
listen_path_mode
values: int (600 by default)
```
- sets listening path mode
```ini
listen_address
values: str (127.0.0.1 by default)
```
- sets listening address
```ini
listen_port
values: int (8080 by default)
```
- sets listening port
### Section: [stream]
Stream settings (income and outcome connections for data exchange with other nodes)
#### Parameters
```ini
preferred_encryption
values: str (SALSA2012 by default)
```
- sets encryption method
```ini
debug
values:boolean (true by default)
```
- enables debug stream protocol
### Section: [dns_client]
Programm which transforms node adresses into IP's
#### Parameters
```ini
request_timeout
values: int (10 by default)
```
- sets request timeout
### Section: [bootstrap balancer]
Load balancer which regulates which node is less loaded
#### Parameters
```ini
dns_server
values: boolean (false by default)
```
- opens DNS server (udp server)
```ini
http_server
values: boolean (false by default)
```
- opens HTTP server (tcp)
### Section: [ledger]
Settings of the main network/chain[[Ledger| registry]]
#### Parameters
```ini
debug_more
values: boolean (true by default)
```
- allows to see more debug information
### Section: [dag]
[[DAG]] settings
#### Parameters
```ini
debug_more
values: boolean (true by default)
```
- allows to see more debug information
```ini
threshold_enable
values: boolean (true by default)
```
- enables threshold
### Section: [node_client]
Settings for client's connection to another node
#### Parameters
```ini
timer_update_states
values: int (300 by default)
```
- sets update timer
### Section: [srv]
Paid services which are provided corresponding to [[Orders#VPN service order|orders]]
#### Parameters
```ini
order_signed_only
values: boolean (false by default)
```
- allows to block unsigned orders
### Section: [srv_dns]
DNS settings for paid services
#### Parameters
```ini
enabled
values: boolean (false by default)
```
- enables srv_dns
```ini
pricelist
values: array ([] by default)
```
- enables pricelist
### Section: [mempool]
[[Mempool]] settings
#### Parameters
```ini
auto_proc
values: boolean (false by default)
```
- enables auto-processing (need role master or higher)
### Section: [chain_net]
Chain settings
#### Parameters
```ini
debug_more
values: boolean (false by default)
```
- shows more debug information
### Section: [stream_ch_chain]
Settings of chain channels which are needed for synchronization between nodes
#### Parameters
```ini
debug_more
values: boolean (true by default)
```
- shows more debug information
```ini
update_pack_size
values: int (100 by default)
```
- increase this parameter (number of hashes packed in one update) to reduce update latency, decrease if network connection is bad
### Section: [srv_vpn]
VPN settings
#### Parameters
```ini
enabled
values: boolean (false by default)
```
- enable if you want to share VPN service from your node
```ini
debug_more
values: boolean (false by default)
```
- shows more debug information
```ini
grace_period
values: int (60 by default)
```
- sets time for grace period (in sec) which defines time while transaction is not handled yet
```ini
network_address
values: str (10.11.12.0 by default)
```
- address of internal network which has access to external one, lients of VPN service will be got IP address of this network locally
```ini
network_mask
values: str (255.255.255.0 by default)
```
- mask of this network
```ini
net
values: str (KelVPN by default)
```
- network in which node provides service
```ini
wallet_addr
values: str
```
- wallet address where payment will come
```ini
receipt_sign_cert
values: str
```
- the name of master node certificate which is used to sign payment checks
### Section [conserver]
Console interface server [[5. CLI Node Commands]]
#### Parameters
```ini
enabled
values: boolean (true by default)
```
- enables console interface server
```ini
listen_port_tcp
values: int (12345 by default)
```
- sets up listening TCP port
```ini
listen_unix_socket_path
values: str (/opt/cellframe-node/var/run/node_cli by default)
```
- sets up listening socket path
```ini
listen_unix_socket_permissions
values: int (777 by default)
```
- sets up socket Linux file permissions
### Section [resources]
Extra node settings
#### Parameters
```ini
threads_cnt
values: int (0 by default)
```
- threads counting (0 means auto detecting)
```ini
notify_path
values: str (/opt/cellframe-node/var/run/node_notify by default)
```
- sets notify path
```ini
notify_permissions
values: int (770 by default)
```
- sets notify Linux file permissions
```ini
notify_user
values: str (myuser by default)
```
- sets notify socket permissions for user
```ini
notify_group
values: str (mygroup by default)
```
- sets notify socket permissions for group
```ini
pid_path
values: str (/opt/cellframe-node/var/run/cellframe-node.pid by default)
```
- sets place where pid. file of node is (it prevents node duplication)
```ini
log_file
values: str (/opt/cellframe-node/var/log/cellframe-node.log by default)
```
- sets place where log. file of node is
```ini
wallets_path
values: str (/opt/cellframe-node/var/lib/wallet by default)
```
- sets place where wallet file of node is
```ini
ca_folders
values: array[str] ([/opt/cellframe-node/var/lib/ca,/opt/cellframe-node/share/ca] by default)
```
- sets place for certification authority folders
### Section [global_db]
[[Global Database (GDB)]] settings
#### Parameters
```ini
path
values: str (/opt/cellframe-node/var/lib/global_db by default)
```
- sets path to global_db file
```ini
driver
values: str (mdbx by default)
```
- sets driver is used for gdb (sqlite on MacOS)
```ini
debug_more
values: boolean (true by default)
```
- shows more debug information
```ini
store_time_limit
values: int (6 by default)
```
- hours quantity needed for deleting definite node groups
### Section [plugins]
Python plugins settings
#### Parameters
```ini
py_path
values: str (/opt/cellframe-node/var/lib/plugins by default)
```
- path to python plugins folder
```ini
enabled
values: boolean (true by default)
```
- enables python plugins in the node
```ini
py_load
values: boolean (true by default)
```
- loads python-based plugins