77 lines
2.9 KiB
Plaintext
77 lines
2.9 KiB
Plaintext
![]() |
[Unit]
|
||
|
Description=Polkadot Solochain Node with PVM Support
|
||
|
Documentation=https://docs.polkadot.com/
|
||
|
After=network-online.target
|
||
|
Wants=network-online.target
|
||
|
|
||
|
[Service]
|
||
|
Type=simple
|
||
|
User={{ polkadot_solochain.run_user.name }}
|
||
|
Group={{ polkadot_solochain.run_user.group }}
|
||
|
EnvironmentFile={{ polkadot_solochain.config_path }}/node.env
|
||
|
WorkingDirectory={{ polkadot_solochain.work_path }}
|
||
|
|
||
|
ExecStart={{ polkadot_solochain.bin_path }}/{{ polkadot_solochain.node_binary }} \
|
||
|
--base-path {{ polkadot_solochain.base_path }} \
|
||
|
--chain {{ polkadot_solochain.config_path }}/{{ polkadot_solochain.network.chain_id }}.json \
|
||
|
--name {{ polkadot_solochain.network.name }} \
|
||
|
--listen-addr {{ polkadot_solochain.network.listen_addr }} \
|
||
|
{% if polkadot_solochain.network.public_addr is defined %}
|
||
|
--public-addr {{ polkadot_solochain.network.public_addr }} \
|
||
|
{% endif %}
|
||
|
--rpc-port {{ polkadot_solochain.rpc.ws_port }} \
|
||
|
--rpc-bind-addr {{ polkadot_solochain.rpc.bind_addr }} \
|
||
|
--rpc-cors {{ polkadot_solochain.rpc.cors | join(',') }} \
|
||
|
--rpc-methods {{ polkadot_solochain.rpc.methods | join(',') }} \
|
||
|
--max-peers {{ polkadot_solochain.network.max_peers }} \
|
||
|
--execution {{ polkadot_solochain.execution_strategy }} \
|
||
|
--state-cache-size {{ polkadot_solochain.state_cache_size }} \
|
||
|
--pruning {{ polkadot_solochain.pruning }} \
|
||
|
{% if polkadot_solochain.runtime.pvm_enabled %}
|
||
|
--wasm-execution {{ polkadot_solochain.runtime.wasm_execution }} \
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.validator.enabled %}
|
||
|
--validator \
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.network.reserved_only %}
|
||
|
--reserved-only \
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.network.bootnodes %}
|
||
|
{% for bootnode in polkadot_solochain.network.bootnodes %}
|
||
|
--bootnode {{ bootnode }} \
|
||
|
{% endfor %}
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.network.reserved_nodes %}
|
||
|
{% for reserved in polkadot_solochain.network.reserved_nodes %}
|
||
|
--reserved-node {{ reserved }} \
|
||
|
{% endfor %}
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.telemetry.enabled and polkadot_solochain.telemetry.url is defined %}
|
||
|
--telemetry-url "{{ polkadot_solochain.telemetry.url }} {{ polkadot_solochain.telemetry.verbosity }}" \
|
||
|
{% endif %}
|
||
|
{% if polkadot_solochain.dev_mode %}
|
||
|
--dev \
|
||
|
{% endif %}
|
||
|
--log {{ polkadot_solochain.log_level }}
|
||
|
|
||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||
|
Restart=always
|
||
|
RestartSec=10
|
||
|
|
||
|
# Security settings
|
||
|
NoNewPrivileges=true
|
||
|
PrivateTmp=true
|
||
|
ProtectSystem=strict
|
||
|
ProtectHome=true
|
||
|
ReadWritePaths={{ polkadot_solochain.work_path }} {{ polkadot_solochain.base_path }} {{ polkadot_solochain.keystore_path }} {{ polkadot_solochain.config_path }}
|
||
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||
|
|
||
|
# Resource limits
|
||
|
LimitNOFILE=65536
|
||
|
{% if polkadot_solochain.runtime.pvm_enabled %}
|
||
|
# Additional memory for PVM operations
|
||
|
MemoryMax=4G
|
||
|
{% endif %}
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|