Skip to content

add Dolibarr ERP & CRM app v22.0.4#60

Open
BookJJun-IJ wants to merge 2 commits into
Yundera:mainfrom
BookJJun-IJ:Dolibarr
Open

add Dolibarr ERP & CRM app v22.0.4#60
BookJJun-IJ wants to merge 2 commits into
Yundera:mainfrom
BookJJun-IJ:Dolibarr

Conversation

@BookJJun-IJ

Copy link
Copy Markdown
Member

Summary

Add Dolibarr (v22.0.4), an open source ERP & CRM for business management with MariaDB 11.8.6 backend.

Architecture

Service Image cpu_shares
dolibarr dolibarr/dolibarr:22.0.4 70
db mariadb:11.8.6 50
  • Internal network: dolibarr-network (bridge, DB isolation)
  • External network: pcs (Caddy reverse proxy)

Auto-install

DOLI_INSTALL_AUTO: 1 makes the entrypoint run the Dolibarr installer automatically at first start — no setup wizard, no database picker. Combined with DOLI_ADMIN_LOGIN and DOLI_ADMIN_PASSWORD, users land directly on the login screen.

Database healthcheck

MariaDB has a healthcheck using healthcheck.sh --connect --innodb_initialized, and the Dolibarr service uses depends_on with condition: service_healthy. Without this, Dolibarr's auto-install races MariaDB startup and fails with a database connection error.

Network isolation

The DB service is only on dolibarr-network — not on pcs. This means the database is not reachable from other containers on the shared network, only the Dolibarr app service can connect to it.

URL root

DOLI_URL_ROOT: https://dolibarr-${APP_DOMAIN} is set so Dolibarr generates correct links for OAuth callbacks, email notifications, and document URLs. Without it, Dolibarr defaults to http://localhost and all generated links break.

Submission Checklist

Tech Checklist

  • Proper file permissions — user: 0:0 on both services, volumes mapped to /DATA/AppData/$AppID/
  • Migration path — MariaDB with MARIADB_AUTO_UPGRADE: 1 handles schema migrations
  • Pre-install/post-install commands — N/A

Security Checklist

  • Default authentication — Dolibarr built-in login with $APP_DEFAULT_PASSWORD
  • No hardcoded credentials — uses $APP_DEFAULT_PASSWORD for admin and DB
  • Specific version tags — dolibarr:22.0.4, mariadb:11.8.6

Functionality Checklist

  • Works immediately after installation
  • Data mapped to /DATA/AppData/$AppID/documents/, custom/, db/
  • No manual configuration required
  • Data persistence — DB and documents persist across reinstall
  • cpu_shares set on all services — dolibarr: 70, db: 50
  • Fresh installation tested
  • Uninstall/reinstall tested

Documentation Checklist

  • Clear description — en_us, ko_kr, zh_cn, fr_fr, es_es
  • Tagline in 5 languages
  • Icon and screenshots provided, CDN URLs point to Yundera/AppStore@main

@worph

worph commented May 28, 2026

Copy link
Copy Markdown
Member

App is stuck on "loading" after I installed it, unable to test more

@Maelisse2002

Maelisse2002 commented May 28, 2026

Copy link
Copy Markdown
Collaborator

🤖 AI Pre-Check

Decision: ⚠️ ai-reviewed:needs-review
Tech review (incl. security): needed — new app submission (advisory; human flow owns new apps)
Commit: 8f02a44 | Checklist source: CONTRIBUTING.md@main

Apps in this PR

  • Dolibarr — new app submission (v22.0.4)

AI static checks

  • ✅ Specific version tags (no :latest) — dolibarr/dolibarr:22.0.4, mariadb:11.8.6
  • ✅ No hardcoded credentials — DB/root/admin passwords all use $APP_DEFAULT_PASSWORD
  • ✅ Volumes under /DATA/AppData/$AppID/documents, custom, db
  • user: set on both services (0:0); root requirement documented in rationale.md
  • cpu_shares set on all services — dolibarr: 70, db: 50
  • x-casaos metadata complete; asset URLs point to Yundera/AppStore@main (icon, 3 screenshots, thumbnail all present in PR)
  • ➖ pre/post-install cmd — none defined

→ Tier 2 must verify (human)

  • Works immediately after install (admin login + DB auto-init via DOLI_INSTALL_AUTO=1)
  • Fresh installation tested
  • Uninstall / reinstall preserves data in /DATA/AppData/dolibarr/{documents,custom,db}
  • Default-auth model acceptable (built-in login, admin creds surfaced via tips.before_install)
  • Prior "stuck on loading" install issue resolved on this head

Notes for reviewers

New-app submission → decision forced to needs-review, tech + security review required. No static fails. rationale.md requests one exception needing human judgment — user: "0:0" on both services: "The official image requires root to manage Apache, write to /var/www/documents, install modules, and handle file permissions." Mitigations claimed: volumes scoped to /DATA/AppData/$AppID/ only, DB isolated on internal dolibarr-network (not on pcs), no privileged mode, 1G memory limit each.

Next step

→ Tier 2 functional review, then tech + security review (new app). Reviewer should judge whether the user: "0:0" rationale is acceptable given AppData-only volume scope and DB network isolation.


Generated by AI pre-check. Checklist read live from CONTRIBUTING.md on main. Labels are the machine-readable verdict; this comment is the human-readable explanation. Humans own the merge.

@Maelisse2002 Maelisse2002 added ai-reviewed:needs-review AI pre-check: ambiguity flagged tech-review:needed Tech + security review required labels May 28, 2026
@BookJJun-IJ

Copy link
Copy Markdown
Member Author

I suspect there were likely two issues.

  1. The loading pop-up window that appears during installation. I have adjusted this to check the health check more frequently and extensively.

  2. Application settings. It takes a very long time for the database to be initialized and tables to be created.

Therefore, you can use the application after waiting approximately 5 to 10 minutes following installation.

The process proceeds in the following order: DB Initialization -> Table Creation -> Key/Index Import.

It takes some time because there are a large number of tables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-reviewed:needs-review AI pre-check: ambiguity flagged tech-review:needed Tech + security review required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants