开源ERP和CRM套件Dolibarr

在这里插入图片描述

什么是 Dolibarr ?

Dolibarr ERP & CRM 是一个现代软件包,用于管理您组织的活动(联系人、供应商、发票、订单、库存、议程…)。它是开源软件(用 PHP 编写),专为中小型企业、基金会和自由职业者设计。您可以您可以根据其许可自由使用、研究、修改或分发它。

安装

在群晖上以 Docker 方式安装。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

本文写作时, latest 版本对应为 17.0.2 或者 17.0.2-php8.1

# 新建文件夹 dolibarr 和 子目录
mkdir -p /volume1/docker/dolibarr/data# 进入 dolibarr 目录
cd /volume1/docker/dolibarr# 运行 mariadb 容器
docker run -d \--restart unless-stopped \--name dolibarr_db \-v $(pwd)/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=root \-e MYSQL_DATABASE=dolibarr \mariadb:latest# 运行 dolibarr 容器
docker run -d \--restart unless-stopped \--name dolibarr_web \--link dolibarr_db:mariadb \-p 9218:80 \-e DOLI_DB_HOST=mariadb \-e DOLI_DB_USER=root \-e DOLI_DB_PASSWORD=root \-e DOLI_DB_NAME=dolibarr \-e DOLI_URL_ROOT='http://0.0.0.0' \-e PHP_INI_DATE_TIMEZONE='Asia/Shanghai' \tuxgasy/dolibarr
  • mariadb 环境变量
可变
MYSQL_ROOT_PASSWORD数据库管理员密码,设为 root
MYSQL_DATABASE数据库库名,设为 dolibarr
  • dolibarr 环境变量
可变
DOLI_DB_HOST数据库主机
DOLI_DB_USER数据库用户
DOLI_DB_PASSWORD数据库密码
DOLI_DB_NAME数据库库名
DOLI_URL_ROOTDolibarr 安装的 Url 根目录
PHP_INI_DATE_TIMEZONEPHP 上的默认时区

更多的环境变量,请参考:https://registry.hub.docker.com/r/tuxgasy/dolibarr 页面上 Environment variables summary 部分的说明

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3"services:mariadb:image: mariadb:latestcontainer_name: dolibarr_dbrestart: unless-stoppedvolumes:- ./data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: rootMYSQL_DATABASE: dolibarrweb:image: tuxgasy/dolibarrcontainer_name: dolibarr_webrestart: unless-stoppedenvironment:DOLI_DB_HOST: mariadbDOLI_DB_USER: rootDOLI_DB_PASSWORD: rootDOLI_DB_NAME: dolibarrDOLI_URL_ROOT: 'http://0.0.0.0'PHP_INI_DATE_TIMEZONE: 'Asia/Shanghai'ports:- "9218:80"links:- mariadb

然后执行下面的命令

# 新建文件夹 dolibarr 和 子目录
mkdir -p /volume1/docker/dolibarr/data# 进入 dolibarr 目录
cd /volume1/docker/dolibarr# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

在这里插入图片描述

运行

不出意外的话,有两个容器启动。第一次要导入数据库脚本,所以需要等待的时间还是比较久的。

在这里插入图片描述

第一条导入记录的时间

在这里插入图片描述

到最后一条导入记录的时间。用了 1 个多小时,当看到 Create SuperAdmin account 时,差不多就可以访问了

老苏装了几次,时间都差不多,也不知道是硬盘不行导致的,还是确实就这么慢?

在这里插入图片描述

在浏览器中输入 http://群晖IP:9218 就能看到登录界面

在这里插入图片描述

默认用户admin,密码:admin

在这里插入图片描述

第一步应该是设置自己的组织吧

在这里插入图片描述

接下来应该就可以选择自己的模块使用了吧

在这里插入图片描述

老苏截了张长图,方便大家看,Dolibarr 内置了哪些可用的应用

在这里插入图片描述

启用的模块或者应用,会出现在顶部的工具条上

在这里插入图片描述

感觉上,和老苏之前介绍的 odoo 有点像

文章传送门:全业务链管理平台Odoo

参考文档

Dolibarr Open Source ERP and CRM - Web suite for business
地址:https://www.dolibarr.org/

Dolibarr ERP & CRM
地址:https://github.com/dolibarr

tuxgasy/dolibarr - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/tuxgasy/dolibarr/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python字典全解析:从基础到高级应用

更多资料获取 📚 个人网站:涛哥聊Python 字典是一种强大而多才多艺的数据类型,它以键-值对的形式储存信息,让我们能够以惊人的效率处理和管理数据。 字典能够将键和值关联在一起,使得数据的存储和检索变得非常高效。…

calc方法和vue中calc不生效踩坑

calc方法 calc()方法是css用来计算的,比如一个场景,上下固定高度,中间自适应,就可以使用这个方法。 预编译less也是可以使用这个方法的 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewp…

链表(7.27)

3.3 链表的实现 3.3.1头插 原理图&#xff1a; newnode为新创建的节点 实现&#xff1a; //头插 //让新节点指向原来的头指针&#xff08;节点&#xff09;&#xff0c;即新节点位于开头 newnode->next plist; //再让头指针&#xff08;节点&#xff09;指向新节点&#…

插入排序/折半插入排序

插入排序/折半插入排序 插入排序 插入排序(英语&#xff1a;Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…

盲盒商城源码 盲盒开箱源码 潮物盲盒商城源码 仿CSGO盲盒开箱源码

百度seo的要求对于网页内容的伪原创是相对严格的,需要进行一定的修改使其符合百度seo的标准 根据您的要求,我们将对后面的这段话进行伪原创修改,只修改文字符号,不对字数进行调整: 盲盒商城源码、盲盒开箱源码、潮物盲盒商城源码、仿CSGO盲盒开箱源码 带有Vue源代码,前端…

git常用命令和开发常用场景

git命令 git init 创建一个空的git仓库或者重新初始化已有仓库 git clone [url] 将存储库克隆到新目录 git add 添加内容到索引 git status 显示工作树状态 git commit -m "" 记录仓库的修改 git reset 重置当前HEAD到指定的状态 git reset –-soft&#xff1a;…

2020架构真题(四十六)

、以下关于操作系统微内核架构特征的说法&#xff0c;不正确的是&#xff08;&#xff09;。 微内核的系统结构清晰&#xff0c;利于协作开发微内核代码量少&#xff0c;系统具有良好的可移植性微内核有良好的的伸缩性和扩展性微内核功能代码可以互相调用&#xff0c;性能很高…

3款国产办公软件,不仅好用,还支持linux国产操作系统

当提到国产办公软件并支持Linux国产操作系统时&#xff0c;以下是三款备受好评的软件&#xff1a; 1. WPS Office&#xff08;金山办公套件&#xff09; WPS Office是中国知名的办公软件套件&#xff0c;也是一款跨平台的应用程序。它包含文字处理、表格编辑和演示文稿等常见办…

06-进程间通信

学习目标 熟练使用pipe进行父子进程间通信熟练使用pipe进行兄弟进程间通信熟练使用fifo进行无血缘关系的进程间通信使用mmap进行有血缘关系的进程间通信使用mmap进行无血缘关系的进程间通信 2 进程间通信相关概念 2.1 什么是进程间通信 Linux环境下&#xff0c;进程地址空间…

STM32F030在使用内部参考电压 (VREFINT)时与STM32G070的区别

背景&#xff1a; 之前使用过STM32G070的内部参考电压来提升ADC采集的准确度&#xff08;STM32使用内部参考电压提高ADC采集准确度&#xff09;&#xff0c;所以本次使用STM32F030的芯片时直接把之前G070的代码拿过来用了&#xff0c;但是出现了问题。 查找资料发现两者不同&am…

STM32CubeMX学习笔记-USART_DMA

STM32CubeMX学习笔记-USART_DMA 一、DMA的概念二、数据传输方式普通模式循环模式 三、以串口方式讲解串口DMA方式发送函数&#xff1a;HAL_UART_Transmit_DMA串口DMA方式接收函数&#xff1a;HAL_UART_Receive_DMA获取未传输数据个数函数&#xff1a;__HAL_DMA_GET_COUNTER关闭…

如何在Apache和Resin环境中实现HTTP到HTTPS的自动跳转:一次全面的探讨与实践

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【MySQL】基本查询(二)

文章目录 一. 结果排序二. 筛选分页结果三. Update四. Delete五. 截断表六. 插入查询结果结束语 操作如下表 //创建表结构 mysql> create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment 同学姓名,-> chi…

解决yolo无法指定显卡的问题,实测v5、v7、v8有效

方法1 基本上这个就能解决了&#xff01;&#xff01;&#xff01; 在train.py的最上方加上下面这两行&#xff0c;注意是最上面&#xff0c;其次指定的就是你要使用的显卡 import os os.environ[CUDA_VISIBLE_DEVICES]6方法2&#xff1a; **问题&#xff1a;**命令行参数指…

C#:出题并判断

C#:出题并判断 //出题并判断 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace Test_…

# 解析Pikachu靶场:一个安全研究的练习场

引言 Pikachu靶场是一个非常流行的安全研究和渗透测试练习平台。这个环境包括多个安全漏洞&#xff0c;从基础的到高级的&#xff0c;供安全研究人员和渗透测试者进行实验和学习。在这篇博客中&#xff0c;我们将探讨Pikachu靶场的基本概念&#xff0c;功能&#xff0c;以及如…

使用安卓Termux+Hexo,手机也能轻松搭建个人博客网站

文章目录 前言1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址5.结语 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并…

stl 输入输出流

标准输入输出流 头文件 iostream 从标准输入读取流 cin >> 从标准输出写入流 cout << get 系列函数 get 无参数&#xff1a;cin.get() 从指定的输入流中提取一个字符&#xff08;包括空白字符&#xff09;&#xff0c;若读取成功&#xff0c;返回该字符的 ASC…

论文分享 | 利用单模态自监督学习实现多模态AVSR

本次分享上海交通大学发表在 ACL 2022 会议 的论文《Leveraging Unimodal Self-Supervised Learning for Multimodal AVSR》。该论文利用大规模单模态自监督学习构建多模态语音识别模型。 论文地址&#xff1a; https://aclanthology.org/2022.acl-long.308.pdf 代码仓库&am…

css 写带三角形的对话框,空心的三角形边框

首先&#xff0c;我们要会先实现一个小三角形&#xff1b; 思路&#xff1a;利用元素的 border 属性&#xff0c;将其三个方向的 border-color 值设为透明色&#xff08;或者和其父元素的背景色一致&#xff0c;形成视觉差&#xff0c;俗称障眼法&#xff09;&#xff0c;剩下…