feat: add Obsidian CLI API service
Build and Push Docker Container / build-and-push (push) Successful in 4m26s

- Add Docker image for the official Obsidian desktop app and CLI.

- Start Obsidian headlessly with Xvfb and DBus setup.

- Expose a safe structured HTTP command API without shell execution.

- Add JWT-based vault, path, and command authorization.

- Support single-vault and multi-vault container mounts.

- Add TypeScript SDK helpers for Obsidian CLI commands.

- Add n8n community node package with Obsidian operations.

- Add docs, compose config, tests, and production image workflow.
This commit is contained in:
2026-06-24 09:11:13 +02:00
commit 902a3df8b5
34 changed files with 5153 additions and 0 deletions
@@ -0,0 +1,40 @@
import type {
ICredentialType,
INodeProperties,
} from 'n8n-workflow';
export class ObsidianApi implements ICredentialType {
name = 'obsidianApi';
displayName = 'Obsidian API';
documentationUrl = 'https://git.yiprawr.dev/Docker/obsidian-api';
properties: INodeProperties[] = [
{
displayName: 'Base URL',
name: 'baseUrl',
type: 'string',
default: 'http://obsidian-api:8080',
placeholder: 'http://obsidian-api:8080',
description: 'Base URL of the Obsidian API Docker service',
required: true,
},
{
displayName: 'API Token',
name: 'apiToken',
type: 'string',
typeOptions: {
password: true,
},
default: '',
description: 'Bearer JWT created with scripts/create_jwt.py',
required: true,
},
{
displayName: 'Default Vault',
name: 'defaultVault',
type: 'string',
default: '',
placeholder: 'work',
description: 'Optional default vault name/path. Sent as vault=<value> before every command unless the node overrides it.',
},
];
}