Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Dolibarr
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
NoCloud
docker
Dolibarr
Commits
cf2964d9
Commit
cf2964d9
authored
1 month ago
by
David Beniamine
Browse files
Options
Downloads
Plain Diff
Merge branch 'add-info-cli' into 'master'
Add info cli tool See merge request
!5
parents
b7acc28f
a776f0b1
No related branches found
No related tags found
1 merge request
!5
Add info cli tool
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
doli
+136
-0
136 additions, 0 deletions
doli
with
136 additions
and
0 deletions
doli
+
136
−
0
View file @
cf2964d9
...
@@ -95,6 +95,142 @@ case $action in
...
@@ -95,6 +95,142 @@ case $action in
;;
;;
"help"
)
"help"
)
usage
usage
;;
"info"
)
echo
"** Info about your Dolibarr instance **"
# Date and time
timestamp
=
$(
date
'+%Y-%m-%d %H:%M:%S'
)
# Hostname
host
=
$(
hostname
)
# Dolibarr instance name (parent of dolibarr_src)
instance_path
=
$(
realpath
dolibarr_src/.. 2>/dev/null
)
instance_name
=
$(
basename
"
$instance_path
"
)
echo
-e
"Generated at:
$timestamp
"
echo
-e
"Machine:
$host
"
echo
-e
"Instance:
$instance_name
"
echo
-e
"Instance path:
$instance_path
\n
"
## Docker deployment
if
[
"
$(
is_docker
)
"
-eq
1
]
;
then
echo
"Docker deployment detected."
echo
"Service:
$APP_SERVICE
"
echo
"Database Service:
$DB_SERVICE
"
echo
"User:
$user
"
echo
"Database:
$db
"
echo
"Document Path:
$document_path
"
else
echo
"Non-Docker deployment detected."
echo
"Please check your configuration manually."
fi
## PHP Version
if
command
-v
php
>
/dev/null
;
then
php_version
=
$(
php
-r
'echo PHP_VERSION;'
)
echo
"PHP Version:
$php_version
"
else
echo
"PHP is not installed or not found in PATH."
fi
## Dolibarr Version
if
[
-f
"dolibarr_src/htdocs/install/version.php"
]
;
then
version
=
$(
grep
-oP
'\$dolibarr_version\s*=\s*"\K[^"]+'
dolibarr_src/htdocs/install/version.php
)
echo
"Dolibarr Version:
$version
"
else
echo
"Dolibarr version file not found."
fi
## Dolibarr branch
if
[
-d
"dolibarr_src/.git"
]
;
then
cd
dolibarr_src
||
exit
GREEN
=
'\033[0;32m'
YELLOW
=
'\033[1;33m'
RED
=
'\033[0;31m'
NC
=
'\033[0m'
branch
=
$(
git rev-parse
--abbrev-ref
HEAD 2>/dev/null
)
upstream
=
$(
git rev-parse
--abbrev-ref
--symbolic-full-name
"@{u}"
2>/dev/null
)
status
=
"
${
RED
}
No upstream
${
NC
}
"
if
[
-n
"
$upstream
"
]
;
then
remote
=
$(
echo
"
$upstream
"
|
cut
-d
'/'
-f1
)
git fetch
"
$remote
"
>
/dev/null 2>&1
behind
=
$(
git rev-list
--count
HEAD..
"
$upstream
"
2>/dev/null
)
if
[
"
$behind
"
-gt
0
]
;
then
status
=
"
${
YELLOW
}
Pull needed
${
NC
}
"
else
status
=
"
${
GREEN
}
Up to date
${
NC
}
"
fi
fi
echo
-e
"Dolibarr Branch:
$branch
[
$status
]"
cd
-
>
/dev/null
||
exit
else
echo
"Dolibarr source directory is not a Git repository."
fi
## Modules
BASE_DIR
=
"dolibarr_src/htdocs/custom"
if
[
-d
"
$BASE_DIR
"
]
;
then
echo
-e
"
\n
Custom modules directory:
$BASE_DIR
\n
"
echo
"Modules in custom directory:"
printf
"%-45s | %-20s | %-12s | %-10s | %s
\n
"
"Module"
"Git Branch"
"Last Commit"
"Commit ID"
"Up to date"
printf
"%-45s-+-%-20s-+-%-12s-+-%-10s-+-%s
\n
"
\
"
$(
printf
'%.0s-'
{
1..45
}
)
"
"
$(
printf
'%.0s-'
{
1..20
}
)
"
\
"
$(
printf
'%.0s-'
{
1..12
}
)
"
"
$(
printf
'%.0s-'
{
1..10
}
)
"
"
$(
printf
'%.0s-'
{
1..6
}
)
"
find
"
$BASE_DIR
"
-maxdepth
1
-mindepth
1
-type
d
!
-name
'.*'
|
sort
|
while
read
-r
dir
;
do
module_name
=
$(
basename
"
$dir
"
)
if
[
-d
"
$dir
/.git"
]
;
then
branch
=
$(
git
-C
"
$dir
"
rev-parse
--abbrev-ref
HEAD 2>/dev/null
)
branch
=
${
branch
:-
"—"
}
branch_short
=
$(
printf
"%-20.20s"
"
$branch
"
)
commit_date
=
$(
git
-C
"
$dir
"
log
-1
--format
=
"%cd"
--date
=
short 2>/dev/null
)
commit_date
=
${
commit_date
:-
"—"
}
commit_id
=
$(
git
-C
"
$dir
"
rev-parse
--short
=
8 HEAD 2>/dev/null
)
commit_id
=
${
commit_id
:-
"—"
}
upstream
=
$(
git
-C
"
$dir
"
rev-parse
--abbrev-ref
--symbolic-full-name
"@{u}"
2>/dev/null
)
if
[
-n
"
$upstream
"
]
;
then
git
-C
"
$dir
"
fetch
--quiet
2>/dev/null
behind
=
$(
git
-C
"
$dir
"
rev-list
--count
HEAD..
"
$upstream
"
2>/dev/null
)
if
[
"
$behind
"
-gt
0
]
;
then
pull_status
=
"
${
YELLOW
}
Pull needed
${
NC
}
"
else
pull_status
=
"
${
GREEN
}
Up to date
${
NC
}
"
fi
else
pull_status
=
"
${
RED
}
No upstream
${
NC
}
"
fi
printf
"%-45s | %-20s | %-12s | %-10s | %b
\n
"
\
"
$module_name
"
"
$branch_short
"
"
$commit_date
"
"
$commit_id
"
"
$pull_status
"
else
printf
"%-45s | %-20s | %-12s | %-10s | %b
\n
"
\
"
$module_name
"
"-"
"-"
"-"
"
${
RED
}
Not a Git repo
${
NC
}
"
fi
done
else
echo
"❌ Custom modules directory not found:
$BASE_DIR
"
fi
;;
;;
"logs"
)
"logs"
)
set
-x
set
-x
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment