Hatsu supports dotenv, and you can set environment variables via the .env file.

It is required unless it has a suffix (optional).

However, it may exist as a built-in preset (in the source code) or an example preset (in .env.example)


  • default: info
  • example: info,tokio::net=debug

The format is the same as the RUST_LOG.


  • default: /etc/hatsu/.env

Hatsu will first try to find the dotenv file in the current directory, and if unsuccessful will try to use the path indicated by HATSU_ENV_FILE.


  • default: sqlite::memory:
  • example: sqlite://hatsu.sqlite3

Should be a valid sqlite: or postgres: URL. see sea-ql.org

sqlite::memory: is used by default to ensure that hatsu does not report errors as a result.

If you're not using a Postgres database, I recommend keeping the sqlite://hatsu.sqlite3.


  • default: None
  • example: hatsu.local

The domain name you assigned to this Hatsu instance.


  • default:
  • example:

The hostname on which the Hatsu server listens.


  • default: 3939
  • example: 3939

The port on which the Hatsu server listens.


  • default: None
  • example: None

The primary account for this Hatsu instance, which cannot be removed and is used as a signed_fetch_actor.


  • default: None
  • example: None

For accessing Admin API.

If this value is not set, the Hatsu Admin API will not be available.

This can be any string, but I recommend generating a random uuid v4.

echo "\nHATSU_ACCESS_TOKEN = \"$(cat /proc/sys/kernel/random/uuid)\"" >> .env

HATSU_NODE_NAME (optional)

  • default: None
  • example: None

Used for NodeInfo metadata.nodeName.


  • default: None
  • example: None

Used for NodeInfo metadata.nodeDescription.