【开源高级排程排产软件:frepple】frepple的安装

这篇具有很好参考价值的文章主要介绍了【开源高级排程排产软件:frepple】frepple的安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

frepple简介

frepple是开源的“高级排程排产”软件(Advanced Planning and Scheduling, APS)。其开源的社区版具有如下功能或特色:

官方截图 个人理解
frepple安装,经验分享,开源,制造,docker,django,postgresql 为订单决定生产时间(考虑有限的物料和有限的产能)
frepple安装,经验分享,开源,制造,docker,django,postgresql 进行未来销量的预测
frepple安装,经验分享,开源,制造,docker,django,postgresql 可以通过浏览器界面进行操作
frepple安装,经验分享,开源,制造,docker,django,postgresql 可通过Excel、CSV、Rest API进行数据的导入与导出
frepple安装,经验分享,开源,制造,docker,django,postgresql 技术框架基于apache web server, django, c++, linux,因此完全基于开源且现代的技术

更多的功能特点、frepple社区版和frepple收费版的区别请看官方介绍。由于博主需要学习APS软件而使用了社区版frepple,在此记录一下安装过程。

该博文受众

适合的群体

  • 愿意花个一天时间来安装frepple、对linux系统和docker有些许使用经验、遇到问题愿意花时间去解决。

不适合的群体

  • 想找个能快速安装并使用的APS软件。

或者

  • 对linux系统或docker没怎么用过,只熟悉点击鼠标的操作。

frepple安装

前提要求

  • 操作系统要求:linux系统。windows用户可以使用hyper-v、virtualbox等虚拟机,安装虚拟机的方式请另外查阅资料。
  • 软件:docker。请自行查询如何在自己的linux发行版上安装docker。

下载所需的docker镜像

frepple的架构如下图所示:
frepple安装,经验分享,开源,制造,docker,django,postgresql
其中涉及到了4个东西:

  • 浏览器(Browser based user interface),这个大家都有。
  • web应用(Web application layer),这个是apache web server + django,用于接收浏览器的请求、进行数据的读写、触发其他二进制程序。这个东西包含在frepple的docker镜像中。
  • 计划引擎(Planning engine),这个是用C++写的可执行文件,实现了一些算法来获得生产计划。这个东西包含在frepple的docker镜像中。
  • 数据库(Database layer),需要postgresql数据库,这个东西没有包含在frepple的docker镜像中,需要另外下载并配置。

了解frepple的架构之后,我们需要下载的东西就清楚了,需要以下2个docker镜像:

  • frepple的docker镜像
  • postgresql的docker镜像

frepple的docker镜像下载

Step 1:拉取frepple镜像

sudo docker pull ghcr.nju.edu.cn/frepple/frepple-community:latest

这里用的是南京大学的镜像站,在博主测试的时候(2024年3月10日),30秒内就可以下载完。
如果读者发现已经无法正常下载了,那么就需要读者自行去找可以下载的镜像站了。

Step 2:检查是否下载成功

sudo docker images

你应该可以看到如下输出:
frepple安装,经验分享,开源,制造,docker,django,postgresql

postgresql的docker镜像下载

Step 1: 拉取postgres镜像

sudo docker pull docker.nju.edu.cn/postgres:latest

这里用的是南京大学的镜像站,在博主测试的时候(2024年3月10日),30秒内就可以下载完。
如果读者发现已经无法正常下载了,那么就需要读者自行去找可以下载的镜像站了。
这里我没有按照南京大学的官方说明去设置镜像,而是直接将镜像站(docker.nju.edu.cn)的地址放在了pull的路径中。

Step 2: 检查是否下载成功

sudo docker images

你应该可以看到如下输出:
frepple安装,经验分享,开源,制造,docker,django,postgresql

启动并配置数据库容器

在实际操作前,先看看数据库方面需要做什么事情:
1,用刚刚下载的postgres镜像启动容器。
2,进入容器,在数据库里新建数据库角色和数据库表。默认情况下,frepple会以"frepple"这个角色去数据库里访问叫做"frepple"、“scenario1”、“scenario2”, “scenario3”的数据库。而初始的数据库里既没有这个角色、也没有这些数据库,所以都要新建。
3,用docker设置一个网络,将容器分配到该网络下。由于frepple会从自己的容器向数据库所在的容器发起tcp/ip访问,因此需要让两个容器都处于一个网络下,以实现通信。

Step 1: 从postgres镜像启动容器

sudo docker run --name test_postgres -e POSTGRES_PASSWORD=postgres_passwd -p 5432:5432 -d docker.nju.edu.cn/postgres:latest

这行命令的解释为:

  • docker run 表示从镜像中启动容器
  • –name 后面接的是容器名(test_postgres)
  • -e 设置的是容器里的环境变量,这里表示设置一个名为POSTGRES_PASSWORD的环境变量,其值为postgres_passwd(你可以改成其他的密码)。这个环境变量是用于设置数据库自带的角色(角色名为postgres)的初始密码,必须要填,否则数据库的初始化会失败、容器也会自动退出。
  • -p 设置的是linux系统和容器的端口映射关系。5432:5432表示我在linux系统里对5432端口的访问(比如打开浏览器,输入localhost:5432)都会转发到容器里的5432端口(postgres数据库默认是监听5432端口)。你也可以改成xxxx:5432,只要xxxx端口没有被占用即可。
  • -d 表示以后台程序运行容器,如果不加这个就会看到容器里打印出来的标准输出、且无法交互。
  • docker.nju.edu.cn/postgres:latest表示镜像

检查该容器是否成功运行

sudo docker ps

你应该可以看到如下输出,最后面一列就是容器名test_postgres
frepple安装,经验分享,开源,制造,docker,django,postgresql
如果你没看到如上输出,可以通过sudo docker logs test_postgres的方式查看启动容器过程中的输出,可能就包含了错误信息。

Step 2: 新建数据库角色和数据库表
1, 进入数据库容器

sudo docker exec -it test_postgres /bin/bash

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

2, 在容器里切换成postgres用户(不仅数据库自带一个叫做postgres的角色,容器里也自带一个叫postgres的用户。只要在容器里切换成了postgres用户,就可以直接以postgres角色登陆数据库,这是数据库的一种鉴权方式)

su postgres

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

3, 登陆数据库

psql

psql会用和当前用户(postgres)同名的角色(postgres)登陆数据库,你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

4, 新建名叫frepple的角色

create user frepple with password 'frepple1234' createrole;

其中password后面的"frepple1234"可以修改成你想要的密码。你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

5, 新建之前提及的几个数据库

create database frepple encoding 'utf-8' owner frepple;
create database scenario1 encoding 'utf-8' owner frepple;
create database scenario2 encoding 'utf-8' owner frepple;
create database scenario3 encoding 'utf-8' owner frepple;

你将看到如下输出:
frepple安装,经验分享,开源,制造,docker,django,postgresql

6, 检查是否角色和数据库都建立成功

\l

你将看到如下输出,第一列表示数据库的名字,这里包含了frepple, scenario1 到 scenario3这4个刚刚新建的数据库,第二列表示数据库归属的角色,也就是我们刚新建的frepple角色。
frepple安装,经验分享,开源,制造,docker,django,postgresql

Step 3: 使用docker新建一个网络,将数据库容器添加进这个网络中

1, 退出数据库

\q

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

2, 退出postgres用户

exit

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

3, 退出容器

exit

你将看到如下输出,已经回到了linux系统上
frepple安装,经验分享,开源,制造,docker,django,postgresql

4, 新建网络

sudo docker network create -d bridge test_frepple_backend

这里新建了一个名为test_frepple_backend的网络。

5, 检查网络是否建立成功

sudo docker network ls

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

6, 将数据库容器添加到该网络下

sudo docker network connect test_frepple_backend test_postgres

7, 检查网络是否成功包含了该容器

sudo docker inspect test_frepple_backend

你将看到如下输出。名叫test_frepple_backend的网络的确包含了容器test_postgres
frepple安装,经验分享,开源,制造,docker,django,postgresql
呼~忙活了一大圈,有关数据库容器的配置,就都完成了,接下来是时候启动frepple容器了。

启动frepple容器

这一环节我们要做的事很少,就只有启动容器、然后查看是否启动成功
1, 启动frepple容器

sudo docker run \
  -e POSTGRES_HOST=test_postgres \
  -e POSTGRES_PORT=5432 \
  -e POSTGRES_USER=frepple \
  -e POSTGRES_PASSWORD=frepple1234 \
  --network test_frepple_backend \
  --name test_frepple \
  --publish 9000:80 \
  --detach \
  ghcr.nju.edu.cn/frepple/frepple-community:latest

这个命令的解释为:

  • -e POSTGRES_HOST=test_postgres 设置容器里的环境变量POSTGRES_HOST,其值为数据库容器的名字(test_postgres)
  • -e POSTGRES_PORT=5432 设置环境变量POSTGRES_PORT,其值为数据库容器里postgres监听的端口
  • -e POSTGRES_USER=frepple 设置环境变量POSTGRES_USER,其值为我们之前在数据库里建立的角色名称"frepple"
  • -e POSTGRES_PASSWORD=frepple1234 设置环境变量POSTGRES_PASSWORD,其值为我们之前在数据库里建立的角色的密码
  • –network test_frepple_backend 设置该容器所属的网络,要和数据库容器在同一个网络(test_frepple_backend)下
  • –publish 9000:80 设置linux系统上对9000端口的访问会转发到容器里对80端口的访问(容器的80端口就是frepple web服务监听的端口)
  • –detach表示以后台程序运行
  • ghcr.nju.edu.cn/frepple/frepple-community:latest为镜像名

2, 检查容器是否启动成功

sudo docker ps

你将看到如下输出,可见名为test_frepple的容器已经成功运行了。
frepple安装,经验分享,开源,制造,docker,django,postgresql
你甚至还可以通过看容器的输出来增强自信:

sudo docker logs test_frepple

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql

使用frepple

1, 如果无误地完成了以上操作,那么请打开你linux系统的浏览器,在地址栏输入localhost:9000,你将看到如下登陆界面:
frepple安装,经验分享,开源,制造,docker,django,postgresql

2, 输入用户名 admin 和密码 admin,你将看到如下功能界面。这里的用户名不是linux系统上的用户、也不是postgres数据库里的角色,单纯是frepple用来实现权限管理而自行设置的。
frepple安装,经验分享,开源,制造,docker,django,postgresql

3, [非必须] 尝试一下frepple自带的样例数据。在linux系统的命令里输入

sudo docker exec test_frepple frepplectl loaddata demo

你将看到如下输出
frepple安装,经验分享,开源,制造,docker,django,postgresql
继续回到访问localhost:9000的浏览器标签页,刷新一下,试着点击功能栏里的东西,比如说下图的“销售/销售订单”
frepple安装,经验分享,开源,制造,docker,django,postgresql
就可以看到如下界面:
frepple安装,经验分享,开源,制造,docker,django,postgresql

里面这么多行销售数据就是来自sudo docker exec test_frepple frepplectl loaddata demo导入的样例数据。

结束语

至此,frepple的安装就已完成。至于它的使用,请详见官方文档、并自己探索吧。

tips: 写完博文了才发现上传图片自带的水印其实是可以消除的,详见csdn文章,可惜已经上传的图片无法再消除了@_@。文章来源地址https://www.toymoban.com/news/detail-846013.html

到了这里,关于【开源高级排程排产软件:frepple】frepple的安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源知识库软件xwiki在Windows下的安装

    xwiki是java语言开发的开源知识库 开源知识库软件-xwiki在windows下的安装:基本参考这个安装即可。 XWiKi 部分汉化 1.1、Windows版本及系统配置 Windows10专业版,32GB内存 1.2、JDK11安装 1、xwiki15版本要求至少JDK11。 2、到oracle官网系在JDK11安装。 3、Java11安装以后在Windows的环境变量里配

    2024年02月04日
    浏览(41)
  • 银河麒麟高级服务器操作系统V10-系统管理员手册:04 安装和管理软件

    目录 第四章 安装和管理软件 4.1. 检查和升级软件包 4.1.1. 软件包升级检查 4.1.2. 升级软件包 4.1.3. 利用系统光盘与 dnf 离线升级系统 4.2. 管理软件包 4.2.1. 检索软件包 4.2.2. 安装包列表 4.2.3. 显示软件包信息 4.2.4. 安装软件包 4.2.5. 下载软件包 4.2.6. 删除软件包 4.3. 管理软件包组

    2024年02月03日
    浏览(58)
  • 集成电路设计开源EDA软件yosys详解1:工具安装

    yosys为一套开源的针对verilog的rtl综合框架,从本节开始将详细介绍工具的使用,并详细对源代码进行分析和讲解,首先介绍一下工具的安装和使用。yosys的git网址为https://github.com/YosysHQ/yosys。 下面将介绍如何在ubuntu环境下安装,使用的环境是ubuntu16.0。 安装Tabby CAD Suite工具,网

    2023年04月25日
    浏览(57)
  • Elasticsearch探秘:原理剖析、高级运用与实战经验【文末送书-37】

    Elasticsearch作为一个开源、分布式、实时搜索和分析引擎,被广泛应用于各行各业,为大数据处理和搜索提供了强大的支持。本文将深入探讨Elasticsearch的原理、进阶使用方法以及工程实践,帮助读者更全面地理解和应用这一强大的搜索引擎。 在深入学习Elasticsearch之前,我们首

    2024年03月14日
    浏览(98)
  • APS排产相关的leetcode

    1834 Single-Threaded CPU 621 Task Scheduler 630 Course Schedule III 1029 Two City Scheduling 1229 Meeting Scheduler 2365 Task Scheduler II 1335 Minimum Difficulty of a Job Schedule 1462 Course Schedule IV 207 Course Schedule 210 Course Schedule II 815 Bus Routes

    2024年01月19日
    浏览(26)
  • 项目经验分享|openGauss 陈贤文:受益于开源,回馈于开源

    开源之夏 项目经验分享 2023 #08 #nbsp;关于 o penGauss nbsp;社区 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。同时openGauss也是一个开源的数据库平台,鼓励社

    2024年02月08日
    浏览(41)
  • [Ubuntu 20.04 PC] 安装C-Kermit:一个开源串口通信软件

    在计算机科学领域,串口通信一直是非常重要的一环。而C-Kermit作为一款强大而灵活的开源串口通信软件,广泛应用于UNIX、Linux和Windows等操作系统中。本文将介绍C-Kermit的基本原理、特点以及如何使用它进行串口通信。 C-Kermit是由C语言实现的,旨在提供可靠、高效的串口通信

    2024年02月11日
    浏览(37)
  • 软件测试简历项目经验怎么写,没有项目经验?

    怎么办?只能接受低薪工作吗?No No No。本文就教大家如何解决这个问题。 为了帮助大家彻底解决“没有项目”这个拦路虎,接下来文章将从以下几个方面进行展开: 1、应该去哪找项目? 2、在众多的项目中,该怎么挑选适合自己的? 3、找到一个项目,应该怎么写到简历中

    2024年04月11日
    浏览(44)
  • 【软件测试】面试老约不到?软件测试简历项目经验怎么写?论项目经验的重要性......

    随着就业竞争越来越大,投简历获取面试机会,不仅仅需要有良好的技能储备,更需要一份优秀的求职简历。什么样的简历才能通过层层筛选,获得HR的青睐? 项目经验绝对是重要的参考之一。 一份简历的项目经验有多重要? 不管是专业的HR还是技术专家,在筛选简历时都有

    2023年04月12日
    浏览(54)
  • 数字化车间智能排产调度挑战赛(一)—— 数学模型

    本系列文章用于记录比赛中模型构建,算法设计,仅用于记录与学习。 系列文章将分为一下几个部分 分析问题,建立数学模型构建,并基于求解器验证 设计启发式规则求解车间调度问题 关键路径+VNS的混合算法求解车间调度问题 这三个部分也是我在解决这个问题过程中,求

    2024年02月12日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包