Add Aкаunting accounting app template and restructure tags formatting (#305)

* Add Aкаunting accounting app template and restructure tags formatting

* Reformat tags in meta.json to improve readability and maintainability
This commit is contained in:
Jainil Prajapati 🪐
2025-08-25 11:19:39 +05:30
committed by GitHub
parent d9d5b980d0
commit b4bf7c4fa7
4 changed files with 128 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
version: "3.8"
services:
akaunting:
image: docker.io/akaunting/akaunting:latest
restart: unless-stopped
depends_on:
akaunting-db:
condition: service_healthy
environment:
# App config
APP_URL: ${APP_URL}
LOCALE: ${LOCALE}
# Database connection
DB_HOST: akaunting-db
DB_PORT: 3306
DB_NAME: ${DB_NAME}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_PREFIX: ${DB_PREFIX}
# First-run bootstrap (company + admin)
COMPANY_NAME: ${COMPANY_NAME}
COMPANY_EMAIL: ${COMPANY_EMAIL}
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
# Expose only to internal network; domain routing handled by Dokploy/Traefik
expose:
- "80"
volumes:
- akaunting-data:/var/www/html
akaunting-db:
image: mariadb:10.11
restart: unless-stopped
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# Randomizes root password on each deployment (recommended)
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
volumes:
- akaunting-db:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
volumes:
akaunting-data: {}
akaunting-db: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,54 @@
[variables]
# Domain & UI
main_domain = "${domain}"
locale = "en-US"
# DB credentials (safe defaults; user can override in UI)
db_name = "akaunting"
db_user = "admin"
mysql_password = "${password:24}"
# Akaunting setup variables
company_name = "My Company"
company_email = "${email}"
admin_email = "${email}"
admin_password = "${password:24}"
# Akaunting table prefix: 3 hex chars + underscore (e.g., "a1f_")
db_prefix = "${hash:3}_"
# Domain routing for the web UI
[[config.domains]]
serviceName = "akaunting"
port = 80
host = "${main_domain}"
[config]
env = [
# App
"APP_URL=${main_domain}",
"LOCALE=${locale}",
# Database (app)
"DB_HOST=akaunting-db",
"DB_PORT=3306",
"DB_NAME=${db_name}",
"DB_USERNAME=${db_user}",
"DB_PASSWORD=${mysql_password}",
"DB_PREFIX=${db_prefix}",
# First-run bootstrap (app)
"COMPANY_NAME=${company_name}",
"COMPANY_EMAIL=${company_email}",
"ADMIN_EMAIL=${admin_email}",
"ADMIN_PASSWORD=${admin_password}",
# Database (server)
"MYSQL_DATABASE=${db_name}",
"MYSQL_USER=${db_user}",
"MYSQL_PASSWORD=${mysql_password}",
"MYSQL_RANDOM_ROOT_PASSWORD=yes"
]
# No custom mounts needed; volumes are already defined in compose.
[[config.mounts]]

View File

@@ -122,6 +122,25 @@
"project-management"
]
},
{
"id": "akaunting",
"name": "Akaunting",
"version": "latest",
"description": "Akaunting is a self-hosted, open-source accounting app for small businesses.",
"logo": "image.png",
"links": {
"github": "https://github.com/akaunting/akaunting",
"website": "https://akaunting.com",
"docs": "https://akaunting.com/docs"
},
"tags": [
"finance",
"accounting",
"php",
"mariadb",
"self-hosted"
]
},
{
"id": "alist",
"name": "AList",