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

Add Akaunting Template #794

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions templates/akaunting/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added templates/akaunting/assets/screenshot1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added templates/akaunting/assets/screenshot2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions templates/akaunting/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { Output, Services, randomPassword } from "~templates-utils";
import { Input } from './meta';

export function generate(input: Input): Output {
const services: Services = [];
const dbPassword = randomPassword();

// Database service - using managed MySQL
services.push({
type: "mysql",
data: {
serviceName: `${input.appServiceName}-db`,
password: dbPassword,
},
});

// Akaunting service
services.push({
type: "app",
data: {
serviceName: input.appServiceName,
source: {
type: "image",
image: "docker.io/akaunting/akaunting:3.1.14-v",
},
env: [
`AKAUNTING_SETUP=false`,
`APP_URL=https://$(PRIMARY_DOMAIN)`,
`APP_DEBUG=false`,
`DB_HOST=$(PROJECT_NAME)_${input.appServiceName}-db`,
`DB_PORT=3306`,
`DB_DATABASE=$(PROJECT_NAME)`,
`DB_USERNAME=mysql`,
`DB_PASSWORD=${dbPassword}`,
`COMPANY_NAME=${input.companyName}`,
`COMPANY_EMAIL=${input.companyEmail}`,
`ADMIN_EMAIL=${input.adminEmail}`,
`ADMIN_PASSWORD=${input.adminPassword}`,
].join("\n"),
domains: [
{
host: "$(EASYPANEL_DOMAIN)",
port: 80,
},
],
mounts: [
{
type: "volume",
name: "data",
mountPath: "/var/www/html",
},
],
},
});

return { services };
}
92 changes: 92 additions & 0 deletions templates/akaunting/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Akaunting
description: |
Akaunting is a powerful online accounting software designed for small businesses,
freelancers, and entrepreneurs. This free and open-source solution provides
comprehensive financial management tools with a modern, user-friendly interface.
Built on Laravel, it offers robust double-entry bookkeeping, real-time financial
tracking, and automated features to streamline your accounting processes. With
multi-user support, document management, and detailed reporting capabilities,
Akaunting helps you maintain professional financial records while saving time
and resources.
instructions: null
changeLog:
- date: 2025-02-14
description: First release with Akaunting 3.0.20
links:
- label: Github
url: https://github.com/akaunting/akaunting
- label: Documentation
url: https://akaunting.com/docs
- label: Website
url: https://akaunting.com
contributors:
- name: ShayPunter
url: https://github.com/shaypunter
schema:
type: object
required:
- appServiceName
- companyName
- companyEmail
- adminEmail
- adminPassword
properties:
appServiceName:
type: string
title: App Service Name
default: akaunting
companyName:
type: string
title: Company Name
default: My Company
companyEmail:
type: string
title: Company Email
default: [email protected]
adminEmail:
type: string
title: Admin Email
default: [email protected]
adminPassword:
type: string
title: Admin Password
format: password
benefits:
- title: Professional Accounting Made Simple
description: |
Akaunting simplifies professional accounting with an intuitive interface
and automated features, making it easy for non-accountants to maintain
accurate financial records.
- title: Free and Open-Source
description: |
As a free, open-source solution, Akaunting eliminates expensive software
costs while giving you full control over your financial data and the
freedom to modify the software to suit your needs.
- title: Secure and Self-Hosted
description: |
Host Akaunting on your own infrastructure for complete data privacy and
security. You maintain full control over your sensitive financial information
with no third-party access.
features:
- title: Double-Entry Bookkeeping
description: |
Built on professional accounting principles, Akaunting provides comprehensive
double-entry bookkeeping to ensure accurate financial records and maintain
compliance with accounting standards.
- title: Invoice & Bill Management
description: |
Create professional invoices, track bills, and manage payments efficiently.
Automated features help you stay on top of accounts receivable and payable.
- title: Financial Reporting
description: |
Generate detailed financial reports including profit & loss statements,
balance sheets, and tax summaries. Get real-time insights into your
business's financial health.
- title: Multi-User & Multi-Company
description: |
Support for multiple users and companies makes Akaunting perfect for
growing businesses or accountants managing multiple clients.
tags:
- Finance
- Accounting
- Business