Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

website/integrations: add Actual budget #12590

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
00f04bb
Update sidebarsIntegrations.js
nicedevil007 Jan 7, 2025
1291d74
Create index.mdx for Actual Budget
nicedevil007 Jan 7, 2025
02e91b3
Update website/integrations/services/actual-budget/index.mdx
nicedevil007 Jan 8, 2025
f90f6f5
Changes made for comments of @4d62
nicedevil007 Jan 8, 2025
c8961ad
warning about first user
nicedevil007 Jan 8, 2025
9b5b32a
make lint & make website...
nicedevil007 Jan 8, 2025
58cec91
removed old dev stuff changes
nicedevil007 Jan 8, 2025
5126e40
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
024f9ce
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
80fa649
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
a5cadea
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
b212c4f
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
24b2ec6
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
81ea961
Remove step 3 and marketing Blabla
nicedevil007 Jan 8, 2025
2fd98ec
index.mdx aktualisieren
nicedevil007 Jan 8, 2025
7c79ac4
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
ebed2ad
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
42b6698
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
db8c581
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
92106c0
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
91720c4
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
d1dd7b6
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
81f0371
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
2e92200
index.mdx aktualisieren
nicedevil007 Jan 9, 2025
f30abef
Update website/integrations/services/actual-budget/index.mdx
nicedevil007 Jan 9, 2025
4194d94
hope that helps a bit => step 6
nicedevil007 Jan 9, 2025
8e08439
Update index.mdx
nicedevil007 Jan 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions website/integrations/services/actual-budget/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: Integrate with Actual Budget
sidebar_label: Actual Budget
---

# Actual Budget

<span class="badge badge--secondary">Support level: Community</span>

## What is Actual Budget

> Actual Budget is a web-based financial management software. It helps users track and manage their income, expenses, and budgets in real time.
> The software compares actual spending with planned budgets to improve financial decisions.
>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normally I would rewrite the markety-hype description of the product, and state plainly what the product does, common use cases, etc. However, since this is a direct quote from the product's website, we can leave it for now. As a future project, we will probably rewrite all of them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can do it for this PR as well, we don't have to wait 😂

> -- https://actualbudget.org/
>
> This guide explains how to configure Actual Budget to use authentik as the OAuth provider for logging in to the Web GUI.

## Preparation

The following placeholders are used in this guide:

- _actual.company_ is the FQDN of the Actual Budget install.
- _authentik.company_ is the FQDN of the authentik install.

## authentik configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are in the process of updating documentation to use the Wizard instead of manual application/provider configuration. Would it be possible to update this section to reflect these changes? Please do LMK if you have any Wizard-related questions

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heya, good morning 😊 thank you for reviewing my PR again!

Is there an example or template on how the documentation pages should look like after we all should use the wizard instead of the manual steps?

Just oriented myself now the last PR for Semaphore UI 😂

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nicedevil007 , you can refer yourself to the Komga integration for now

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this mandatory for this PR? I would do it for my next guide, I don't want to start from scratch again 😭

Learned something new how git works and what I should try to avoid next time (node modules 😂 f.e.)

I guess this guide is close to the same structure as my other guides I already have written here an you reviewed, at least I hope so 😊

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If @tanberry is fine with keeping the change for a later PR, it's fine with me

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'd at least need to fix this:

Also, I noticed the referenced UI elements are code-blocked. They should be put in bold as per the authentik developer documentation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's leave it as it is for now, and change it to use the Wizard later. The Wizard is still in Preview, anyway... so when we make it the default then we can update all of the Integration guides. :-)

Thanks @nicedevil007 for this guide! Let me review quickly (thanks @4d62 for your edits!) and let's get this merged...


[Create](https://docs.goauthentik.io/docs/add-secure-apps/applications/manage_apps#add-new-applications) an OAuth2/OpenID provider and an application in authentik. Use the following parameters for the OAuth2/OpenID provider:

**Provider:**

- Name: _SP-actual_
- Client type: _Confidential_
- Redirect URIs/Origins (RegEx): https://_actual.company_/openid/callback
- Signing Key: Select any available signing keys.

:::info
Actual Budget supports the RS256 algorithm. Be aware of this when choosing the appropriate signing key.
:::

Take note of the Client ID and Client Secret; you will need to provide them to Actual Budget in the last step.

Leave the remaining values as default. Durations can be adjusted as needed.

**Application:**

- Name: _Actual Budget_
- Slug: _actual_
- Launch URL: https://_actual.company_/

## Actual Budget configuration

1. Sign in to Actual Budget with a browser of your choice and access your budget by clicking on its name.

2. Click your budget in the top-left corner to open the dropdown menu and select **Settings**.

3. Scroll to the bottom and select **Show advanced settings**. Scroll again and select **I understand the risks, show experimental features**.

4. To enable the option **OpenID authentication method** select the checkbox next to it.

5. Scroll up to the new option **Authentication method...** and click **Start using OpenID**.

6. Set the following values from the authentik provider:
- Set **OpenID Provider** to **authentik**
- Set **OpenID provider URL** to https://_authentik.company_/application/o/_actual_/
- Set **Client ID** to _client-id_
- Set **Client secret** to _client-secret_

:::warning
The first user to log into Actual Budget via OpenID will become the owner and administrator with the highest privileges for the budget. For more information on how to create additional users, see the Note below.
:::

## Test the login

- Open a browser of your choice and navigate to https://_actual.company_.
- Select the OpenID login method in the dropdown menu and click **Sign in with OpenID**.
- You should be redirected to authentik (with the login flows you created), and then authentik will redirect you back to the https://_actual.company_ URL.
- If you are redirected back to the https://_actual.company_ URL and can see the budget file selection page, the setup was successful.

:::info
Users are not automatically created when logging in with authentik. The owner must manually create each user in Actual Budget. To do so, click **Server online** at the top next to your name and select **User Directory**. Add a new user. The `Username` must match the one in authentik. You can now grant the new user access to your budget by clicking **Server online** next to your name at the top and selecting **User Access**.
:::
1 change: 1 addition & 0 deletions website/sidebarsIntegrations.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ module.exports = {
type: "category",
label: "Miscellaneous",
items: [
"services/actual-budget/index",
"services/engomo/index",
"services/frappe/index",
"services/freshrss/index",
Expand Down
Loading