Oak

Check-in [737fe6affc]
Login

Check-in [737fe6affc]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:ref(doc): Update docs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 737fe6affcfb65e4b7d5fc8e6683fb5bd8bd0defaaef6b45de9fc4092fc5c9b8
User & Date: carlos 2023-09-24 11:05:49
Context
2023-09-24
11:10
ref(doc): Update changelog check-in: 9847cdae9c user: carlos tags: trunk
11:05
ref(doc): Update docs check-in: 737fe6affc user: carlos tags: trunk
2023-09-23
12:01
nit(core): Reduce logging for duplicate powpub events check-in: 79e5253ad0 user: carlos tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to README.md.

12
13
14
15
16
17
18








19
20
21
22
23
24
25
26
27
28
29

    * With the [Shadowy LN Tips module](doc/ons/ons-3.md), your bot can automatically send LN tips each time your paired Nostr account likes a note.

* **PowPub Client** ([demo](wiki:demo-powpub-client)) - Buy the mining of Nostr vanity keys from any number of mining providers. The resulting secret key is known only to you due to the split-key approach to mining.


---









### Learn more

* [Quickstart](doc/how-to-run.md#container-quickstart)
* [Oak Node Guide](doc/index.md)
* [Oak Node Specs (ONS)](doc/ons/index.md)
* [Changelog](CHANGELOG.md)
* RSS feeds: [releases](/timeline.rss?y=g), [tickets](/timeline.rss?y=t), [commits](/timeline.rss?y=ci)

---








>
>
>
>
>
>
>
>



<







12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

30
31
32
33
34
35
36

    * With the [Shadowy LN Tips module](doc/ons/ons-3.md), your bot can automatically send LN tips each time your paired Nostr account likes a note.

* **PowPub Client** ([demo](wiki:demo-powpub-client)) - Buy the mining of Nostr vanity keys from any number of mining providers. The resulting secret key is known only to you due to the split-key approach to mining.


---

### Get started

* Available in the [Umbrel appstore](https://apps.umbrel.com/app/oak-node)
* Available as Podman or Docker containers (see [How to run](doc/how-to-run.md))
* Available on [myNode (experimental)](doc/how-to-run.md#mynode)

---

### Learn more


* [Oak Node Guide](doc/index.md)
* [Oak Node Specs (ONS)](doc/ons/index.md)
* [Changelog](CHANGELOG.md)
* RSS feeds: [releases](/timeline.rss?y=g), [tickets](/timeline.rss?y=t), [commits](/timeline.rss?y=ci)

---

Changes to doc/how-to-run.md.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# How to run

### Using Podman or Docker

* [Quickstart: Run in a container (pull already built image)](#container-quickstart)
* [Run in a container (build from local checkout)](#container-local)
* [Run in a container (build from repo snapshot)](#container-repo)
* [Notes for building on a 32bit Raspi](#raspi-arm32-notes)
* [Run on myNode](#mynode)

### Building from source

* [Build and run from source](#build-from-source)

---







<







1
2
3
4
5
6
7

8
9
10
11
12
13
14
# How to run

### Using Podman or Docker

* [Quickstart: Run in a container (pull already built image)](#container-quickstart)
* [Run in a container (build from local checkout)](#container-local)
* [Run in a container (build from repo snapshot)](#container-repo)

* [Run on myNode](#mynode)

### Building from source

* [Build and run from source](#build-from-source)

---
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212

Optionally, add another `--buildarg user_id=1001` to build an image where Oak files are owned by a custom user ID. This otherwise defaults to `1000`.

### Start / stop a container

You can use the same commands as in the previous section, just change the image used.

---

## <a name="raspi-arm32-notes"></a>Notes for building on a 32bit Raspi

Check if your Raspi has a 32-bit architecture by running `uname -m`:

* `armv7l` indicates an ARMv7 (32 bit) CPU architecture
* `armv8` points to an ARMv8 (64 bit) architecture

If you're running on a 32-bit system, building the image might fail with errors like:

```
... Cannot utime: Operation not permitted
... Cannot utime: Operation not permitted
... Cannot utime: Operation not permitted
```

The solution is described in [this post](https://stackoverflow.com/a/69837195), which points to an outdated `libseccomp2` library.

---

## <a name="mynode"></a>Run on myNode

To run on myNode, ssh to it with the `admin` user, while port-forwarding the remote port 8000 to your local port 8000:

```







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







179
180
181
182
183
184
185



















186
187
188
189
190
191
192

Optionally, add another `--buildarg user_id=1001` to build an image where Oak files are owned by a custom user ID. This otherwise defaults to `1000`.

### Start / stop a container

You can use the same commands as in the previous section, just change the image used.




















---

## <a name="mynode"></a>Run on myNode

To run on myNode, ssh to it with the `admin` user, while port-forwarding the remote port 8000 to your local port 8000:

```

Changes to doc/index.md.

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

43
44
45
46
47


48
49
50
51
52
53
54
* [Recurring Payments demo](wiki:demo-recurring-payments)
* [BCron Expression Syntax](bcron.md)

---

## Email and Nostr Bots

Oak Node has two bots, one usable via Email and one via the Nostr protocol. They both support the same commands and follow the same [spec](ons/ons-1.md).

The bots let you interact with your Oak Node using a chat interface. You can, for instance, create and pay invoices, or send sats to a LN address.

Both bots are disabled by default. They are each usable after an initial pairing process.

Note that the Email bot setup involves creating a separate email account and bot response times can vary, depending on the quality of the email service.

Further reading:


* [Email Bot demo](wiki:demo-bot)
* [ONS-1](ons/ons-1.md) spec
* [High-level Email Bot architecture](email-bot-details.md)
* [Detailed Email Bot setup](email-bot-setup.md)
* [Email Bot performance tips](email-bot-performance-tips.md)



---

## Advanced Configuration

On startup, the Oak node accepts several startup parameters as configuration flags. A full list can be found in [params.rs](/file/src/params.rs).








|

|



<
<


>
|
<
|
|
|
>
>







26
27
28
29
30
31
32
33
34
35
36
37
38


39
40
41
42

43
44
45
46
47
48
49
50
51
52
53
54
* [Recurring Payments demo](wiki:demo-recurring-payments)
* [BCron Expression Syntax](bcron.md)

---

## Email and Nostr Bots

Oak Node has two bots, one usable via Email and one via the Nostr protocol.

The bots let you interact with your Oak Node using a chat interface. You can, for instance, create and pay invoices, or send sats to a LN address ([full list of commands](ons/ons-1.md)).

Both bots are disabled by default. They are each usable after an initial pairing process.



Further reading:

* Email bot
  * [Email Bot demo](wiki:demo-bot)

  * [High-level Email Bot architecture](email-bot-details.md)
  * [Detailed Email Bot setup](email-bot-setup.md)
  * [Email Bot performance tips](email-bot-performance-tips.md)
* Nostr bot
  * [Modules](ons/index.md)

---

## Advanced Configuration

On startup, the Oak node accepts several startup parameters as configuration flags. A full list can be found in [params.rs](/file/src/params.rs).