【REP】hrms-ERPNext 容器安装配置

需要安装frappe ——>ERPNext ——>hrms

https://github.com/frappe/hrms

安装 dokcer compose

cd /usr/local/bin/
wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
mv  docker-compose-linux-x86_64 docker-compose
sudo chmod +x /usr/local/bin/docker-compose
cd 
docker-compose --version

安装 hrms

使用的compose文件

https://github.com/vibeconn/erpnext-custom/blob/main/docker-compose.yaml

# 安装 git
yum install -y git# 获取项目
cd /opt
git clone  https://github.com/frappe/frappe_docker
cd frappe_docker# 配置变量
export APPS_JSON_BASE64=$(echo ${APPS_JSON} | base64 -w 0)# 备份文件
mv  pwd.yml pwd.yml.bak

配置文件

cat >pwd.yml<<'END'
version: "3"services:backend:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failurevolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsconfigurator:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: noneentrypoint:- bash- -c# add redis_socketio for backward compatibilitycommand:- >ls -1 apps > sites/apps.txt;bench set-config -g db_host $$DB_HOST;bench set-config -gp db_port $$DB_PORT;bench set-config -g redis_cache "redis://$$REDIS_CACHE";bench set-config -g redis_queue "redis://$$REDIS_QUEUE";bench set-config -g redis_socketio "redis://$$REDIS_QUEUE";bench set-config -gp socketio_port $$SOCKETIO_PORT;environment:DB_HOST: dbDB_PORT: "3306"REDIS_CACHE: redis-cache:6379REDIS_QUEUE: redis-queue:6379SOCKETIO_PORT: "9000"volumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logscreate-site:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: nonevolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsentrypoint:- bash- -ccommand:- >wait-for-it -t 120 db:3306;wait-for-it -t 120 redis-cache:6379;wait-for-it -t 120 redis-queue:6379;export start=`date +%s`;until [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty"` ]] && \[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty"` ]] && \[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_queue // empty"` ]];doecho "Waiting for sites/common_site_config.json to be created";sleep 5;if (( `date +%s`-start > 120 )); thenecho "could not find sites/common_site_config.json with required keys";exit 1fidone;echo "sites/common_site_config.json found";bench new-site --no-mariadb-socket --admin-password=admin --db-root-password=admin --install-app erpnext --set-default frontend;bench --site frontend install-app hrms;bench --site frontend install-app payments;db:image: mariadb:11.2healthcheck:test: mysqladmin ping -h localhost --password=admininterval: 1sretries: 15deploy:restart_policy:condition: on-failurecommand:- --character-set-server=utf8mb4- --collation-server=utf8mb4_unicode_ci- --skip-character-set-client-handshake- --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6environment:MYSQL_ROOT_PASSWORD: adminvolumes:- db-data:/var/lib/mysqlfrontend:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failurecommand: - nginx-entrypoint.shenvironment:BACKEND: backend:8000FRAPPE_SITE_NAME_HEADER: frontendSOCKETIO: websocket:9000UPSTREAM_REAL_IP_ADDRESS: 127.0.0.1UPSTREAM_REAL_IP_HEADER: X-Forwarded-ForUPSTREAM_REAL_IP_RECURSIVE: "off"PROXY_READ_TIMEOUT: 120CLIENT_MAX_BODY_SIZE: 50mvolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsports:- "8080:8080"    queue-long:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failurecommand:- bench- worker- --queue- long,default,shortvolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsqueue-short:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failuredepends_on: ["backend"]      command:- bench- worker- --queue- short,defaultvolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsredis-queue:image: redis:6.2-alpinedeploy:restart_policy:condition: on-failurevolumes:- redis-queue-data:/dataredis-cache:image: redis:6.2-alpinedeploy:restart_policy:condition: on-failurevolumes:- redis-cache-data:/datascheduler:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failuredepends_on: ["backend"]      command:- bench- schedulevolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logswebsocket:image: 89neuron/erpnext_hrms_payments:v15deploy:restart_policy:condition: on-failurecommand:- node- /home/frappe/frappe-bench/apps/frappe/socketio.jsvolumes:- sites:/home/frappe/frappe-bench/sites- logs:/home/frappe/frappe-bench/logsvolumes:db-data:redis-queue-data:redis-cache-data:sites:logs:
END# 修改重启策略
sed -i  's#none#on-failure#g' pwd.yml
# 启动容器
docker-compose -f ./pwd.yml up -d
# 访问路径
http://ip:8080# 配置信息
简体中文
China

http://ip:8080

默认账号密码

Administrator
admin

清理环境

docker stop `docker ps -a|awk '{print $1}'`
docker rm `docker ps -a|awk '{print $1}'`
cd /root/frappe_docker/
docker-compose -f ./pwd.yml down
docker volume rm  frappe_cert-data
docker volume rm  frappe_db-data
docker volume rm  frappe_docker_db-data
docker volume rm  frappe_docker_logs
docker volume rm  frappe_docker_redis-cache-data
docker volume rm  frappe_docker_redis-queue-data
docker volume rm  frappe_docker_sites
docker volume rm  frappe_mariadb-data
docker volume rm  frappe_redis-cache-data
docker volume rm  frappe_redis-queue-data
docker volume rm  frappe_sites
docker volume rm  root_db-data
docker volume rm  root_logs
docker volume rm  root_redis-cache-data
docker volume rm  root_redis-queue-data
docker volume rm  root_sites
docker volume prune

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

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

相关文章

Isaac sim的一些例程

一、standalone_examples 里面有AMR自主导航的例子&#xff0c;jetbot强化学习的例子等等&#xff1b; 二、 Simulated -> Demo Scenes &#xff08;physics demo scenes&#xff09; 这个里面有很多物理场景演示&#xff0c;如各种形态车辆&#xff0c;关节机器人&#xf…

亚远景科技-ASPICE评估输入

评估输入应在评估的数据收集阶段之前确定&#xff0c;并得到评估发起人的批准。 评估输入的任何更改都应征得发起人或发起人授权人的同意&#xff0c;并记录在评估记录中。 评估输入至少应明确以下内容&#xff1a; 原文链接&#xff1a;ASPICE评估-ASPICE评估输入-亚远景

拼多多跨境电商Temu:1688选品进货新思路

Temu&#xff0c;作为拼多多推出的跨境电商平台&#xff0c;自2022年9月正式上线以来&#xff0c;迅速在全球市场上崭露头角。这个平台秉承了拼多多的理念&#xff0c;致力于通过社交电商模式&#xff0c;为全球消费者提供物美价廉的商品。它不仅是一个购物平台&#xff0c;更是…

算法题 — 排列硬币

总共有 n 枚硬币&#xff0c;将它们摆成一个阶梯形状&#xff0c;第 k 行就必须正好有 k 枚硬币。 给定一个数字 n&#xff0c;找出可形成完整阶梯行的总行数。 n 是一个非负整数&#xff0c;并且在 32 位有符号整型的范围内。 暴力算法&#xff1a; public static int arr…

智能之选:ChatGPT助力你撰写高水平学术论文

ChatGPT无限次数:点击直达 智能之选&#xff1a;ChatGPT助力你撰写高水平学术论文 作为CSDN网站上的优质创作者&#xff0c;我们时常需要撰写高质量的学术论文来分享我们的观点和研究成果。然而&#xff0c;论文写作并非易事&#xff0c;常常需要消耗大量时间和精力。在这个信息…

inBuilder 低代码平台新特性推荐 - 第十七期

今天来给大家带来的是 inBuilder 低代码平台特性推荐系列第十七期——如何在列表上添加图片。 一、 场景介绍 在表单开发的业务场景中&#xff0c;会有需要在列表上显示图片的场景&#xff0c;本文以车辆登记信息场景为例&#xff0c;介绍如何在列表上添加图片的开发过程。 …

linux离线安装NodeJs

一、官方下载 地址&#xff1a;Node.js — Download Node.js 选择linux系统版本 为了防止安装过程出现一些适配问题&#xff0c;我没有选择下载最新版&#xff0c;实际应该下载你的前端所用的nodejs版本 未完待续。。

C++ map 常用部分

文章目录 定义及初始化一些基本操作插入查找删除遍历 定义及初始化 #include <map>map<string, int> m1; m1[first]7;map<string,int> m2 {{"first",1}, {"sec",2}, {"trd",3} };map<string, int> m3; m3.insert({ &q…

GPT-5:更强的ChatGPT!将在高级推理功能上实现重大进步!GPT-5有哪些功能作用?

自 Claude 3 发布以来&#xff0c;外界对 GPT-5 的期待越来越强。毕竟Claude 3已经全面超越了 GPT-4&#xff0c;成为迄今为止最强大模型。 对于即将发布的GPT-5&#xff0c;有哪些期待&#xff1f; 目前来说&#xff0c;GPT-5的将具备哪些新能力&#xff1f; GPT-5性能进步…

C语言求解最大公约数(欧几里得算法的应用)

今天我们来看看两个数的最大公约数怎么求&#xff0c;话不多说之间开干&#xff01; 代码1&#xff08;呆呆的暴力求解&#xff09; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() {int x, y;printf("请输入两个正整数&#xff1a;>");sc…

Python是解释型语言,为啥还有 __pycache__ 文件呢?为啥还有.pyc 文件呢?

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 …

【算法集训】基础算法:双指针

344. 反转字符串 // 双指针思路 void reverseString(char* s, int sSize) {int i 0,j sSize - 1;while(i < j) {char tmp s[i];s[i] s[j];s[j] tmp;i , j --;} }392. 判断子序列 // 双指针 bool isSubsequence(char* s, char* t) {// 定义s和t的下标指针int i 0, j …

使用Java流API构建树形结构数据

简介&#xff1a; 在实际开发中&#xff0c;构建树状层次结构是常见需求&#xff0c;如组织架构、目录结构或菜单系统。本教案通过解析给定的Java代码&#xff0c;展示如何使用Java 8 Stream API将扁平化的菜单数据转换为具有层级关系的树形结构。 1. 核心类定义 - Menu Data…

【图论】【拓扑排序】1857. 有向图中最大颜色值

本文涉及的知识点 图论 拓扑排序 LeetCode1857. 有向图中最大颜色值 给你一个 有向图 &#xff0c;它含有 n 个节点和 m 条边。节点编号从 0 到 n - 1 。 给你一个字符串 colors &#xff0c;其中 colors[i] 是小写英文字母&#xff0c;表示图中第 i 个节点的 颜色 &#xf…

MySQL进阶-----SQL提示与覆盖索引

目录 前言 一、SQL提示 1.数据准备 2. SQL的自我选择 3.SQL提示 二、覆盖索引 前言 MySQL进阶篇的索引部分基本上要结束了&#xff0c;这里就剩下SQL提示、覆盖索引、前缀索引以及单例联合索引的内容。那本期的话我们就先讲解SQL提示和覆盖索引先&#xff0c;剩下的内容就…

ES6+对象常用方法

1.往Object里面添加元素 const obj {timeArr: [],fileIds: [],isVerifyOrder: res?.isVerifyOrder ? "true" : "false",isCompose: res?.isCompose ? "true" : "false",};Object.assign(res, obj);//往res添加属性const obj Ob…

HDU1020--编码问题

试题描述 问题详情如下图所示&#xff1a;要求&#xff1a;java实现、数据结构知识 参考代码 比较垃圾&#xff0c;在别人基础上改的&#xff0c;懒得重构&#xff0c;&#xff0c;&#xff0c;仅供参考 import java.util.Scanner;public class HDU1020StringEncoding {pu…

虚拟机安装银河麒麟

背景 由于Centos将于2024-06-30结束维护【脱保】&#xff0c;届时会存在Bug无人修复及功能无人开发等问题&#xff0c;所以要赶在这个节点前完成操作系统升级。可选的就是RedHat、Ubuntu以及国产信创【中标麒麟、银河麒麟、统信等】&#xff0c;或者使用云上操作系统【例如租阿…

40V耐压5A同步整流DCDC降压恒压芯片 高效率 外围小

同步整流恒压芯片是一种电源管理芯片&#xff0c;它能够在不同电压输入条件下保持输出电压恒定。这种芯片广泛应用于各种电子设备中&#xff0c;如通讯设备、液晶显示器、上网本、机顶盒等。 同步整流恒压芯片的工作原理是利用开关稳压器在输入电压和输出电压之间进行能量传递&…

GraphQL入门教程:构建更高效的APIs

GraphQL入门教程&#xff1a;构建更高效的APIs GraphQL是一个用于API的查询语言&#xff0c;由Facebook于2015年公开发布。它允许客户端精确地指定它们需要从API获取哪些数据&#xff0c;从而使数据交换更加高效和强大。与传统的REST API相比&#xff0c;GraphQL提供了更加灵活…