需要安装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