什么是 Rallly ?

Rallly 是一个免费的小组会议安排工具——使用 Next.jsPrismaTailwindCSS 构建。可用于发现与您的同事或朋友开会的最佳日期,而不需要通过来回发送电子邮件沟通。

从思路上看和 Calendso 是类似的,只是更专注于采用多人投票的方式,来决定活动的预约安排。

构建镜像

可以搜索到官方的镜像

但并没有相应的镜像下载

不过官方提供了 Dockerfile ,可以自己下载源代码构建

老苏可以给大家提供了编译好的镜像,但是需要说明的是,老苏比较懒,如果你想要使用最新的版本,还是自己下代码编译比较好

# 下载代码
git clone https://github.com/lukevella/rallly.git# 或者加个代理
git clone https://ghproxy.com/github.com/lukevella/rallly.git # 进入目录
cd rallly   # 构建镜像(v1版)
docker build \--build-arg DATABASE_URL=postgres://your-database/db \--build-arg NEXT_PUBLIC_BASE_URL=http://localhost:3000 \-t wbsu2003/rallly:v1 .

好家伙,1.9G

更重要的编译完成的静态代码,再传递 NEXT_PUBLIC_BASE_URL 参数不起作用。所以需要改造,据说可以通过修改 next.config.js 搞定,不过老苏还是继续使用了常用的占位替换法。

# 安装 Next.js 应用依赖
FROM node:lts-alpine as dependenciesRUN mkdir -p /usr/src/appENV PORT 3000
ARG DATABASE_URL
ENV DATABASE_URL "postgres://your-database/db"WORKDIR /usr/src/appCOPY package.json /usr/src/app
COPY yarn.lock /usr/src/app
COPY prisma/schema.prisma /usr/src/appRUN yarn --frozen-lockfile# 构建 Next.js 应用程序
FROM node:lts-alpine as builderWORKDIR /usr/src/appCOPY . .
COPY --from=dependencies /usr/src/app/node_modules ./node_modulesARG NEXT_PUBLIC_BASE_URL
ENV NEXT_PUBLIC_BASE_URL "http://localhost:3000"RUN yarn build# 配置 Next.js 应用的运行环境
FROM node:lts-alpine as runnerWORKDIR /usr/src/appENV NODE_ENV production
COPY --from=builder /usr/src/app/next.config.js ./
COPY --from=builder /usr/src/app/next-i18next.config.js ./
COPY --from=builder /usr/src/app/templates ./templates
COPY --from=builder /usr/src/app/public ./public
COPY --from=builder /usr/src/app/.next ./.next
COPY --from=builder /usr/src/app/node_modules ./node_modules
COPY --from=builder /usr/src/app/package.json ./package.json
COPY --from=builder /usr/src/app/prisma/ ./prisma
COPY --from=builder /usr/src/app/replace_api_url.sh ./RUN chmod +x replace_api_url.shEXPOSE 3000
CMD ["yarn", "start"]

replace_api_url.sh 是用来替换静态 js 中的变量的

理论上 DATABASE_URL 可以不用替换

#!/usr/bin/env sh  echo "---replace begin---"  find '/usr/src/app/.next' -name '*.js' -exec sed -i -e 's,postgres://your-database/db,'"$DATABASE_URL"',g' {} \;  find '/usr/src/app/.next' -name '*.js' -exec sed -i -e 's,http://localhost:3000,'"$NEXT_PUBLIC_BASE_URL"',g' {} \;  echo "---replace end---"  yarn start

开始构建

# 进入目录
cd rallly # 修改 Dockerfile 文件# 新增 replace_api_url.sh 文件# 构建镜像(v2版)
docker build -t wbsu2003/rallly:v2 .

大概 0.8G,小了一半不止

docker-compose 安装

docker-compose.yml 是在官方的基础上改的,下面

团队活动安排工具Rallly相关推荐

  1. cocos cr躲避类游戏的暂停、继续、重新开始_社团班级团建游戏活动安排

    学生社团出游怎么安排?如何提高团队的凝聚力?如何增强大家的参与度? 嗨玩君这里拿出一次在校期间所在学生会某部门出游来做举例说明,希望对你有所帮助. 分组: 作为学生会内的一个小部门,本身内部就没有其他 ...

  2. 小团队项目管理开源工具_超越指标:如何在当今的开源项目中以团队方式运作

    小团队项目管理开源工具 传统上,我们如何看待社区健康和活力? 我们可能很快将主要涉及代码贡献的指标归零:有多少公司在贡献? 有多少个人? 多少行代码? 总的说来,这既涉及开发活动的水平,也涉及贡献者基 ...

  3. brainfuck 在线_私有化部署,开源轻量级的团队在线协作工具——Kooteam

    介绍 kooteam是一款轻量级的在线团队协作工具,提供各类文档工具.在线思维导图.在线流程图.项目管理.任务分发,知识库管理等工具. 同时也是一个免费开源的产品,遵循Apache Licence 2 ...

  4. 程序员一直在找的日程安排工具

    来源:开源前线(ID:OpenSourceTop) 猿妹 整编 综合自:https://github.com/Python-World/python-mini-projects 关于日程安排工具,大家 ...

  5. 团队活动 激励还是鸡肋?

    "今天我们部门活动,又是吃饭,真没创意!"Jason为了周五晚上的团队活动,在电话里跟女友请假."别饱汉不知饿汉饥,我们还没有团队活动呢!"女友抱怨Jason身 ...

  6. 活动排序工具之双代号网络(AOA)与单代号网络(AON)[cont.]

    箭线图ADM/双代号网络AOA 图示 箭线表示活动 节点表示一个活动的开始或结束 三要素:结点.箭线.线路 唯一使用虚活动的活动排序工具,虚活动用虚线箭头表示,没有历时,不需资源,只表达活动关系的需要 ...

  7. 广东省哈工大(深圳)赛区赛事活动安排

    为顺利完成第十六届全国大学生智能汽车竞赛广东省赛区的组织和竞赛工作,按秘书处要求比赛活动安排如下: 一.报名 在竞赛组织QQ群:895648204上统一报名. 由于疫情防控要求,入校参赛人数控制在50 ...

  8. 活动安排问题--贪心算法

    活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子.该问题要求高效地安排一系列争用某一公共资源的活动.贪心算法提供了一个简单.漂亮的方法使得尽可能多的活动 ...

  9. hoj 1072 活动安排问题

    活动安排问题 Time Limit:1000MS  Memory Limit:65536K Total Submit:139 Accepted:3 Description 假设要在一会场里安排一批活动 ...

最新文章

  1. RNA-Seq专题课程大纲
  2. dji大疆机器人冬令营_2019RoboMaster高中生机器人冬令营火热进行中
  3. Windows_API_函数 参考大全
  4. 为什么要设置Java环境变量(详解)
  5. 你买过假芯片吗?元器件专家为您揭秘假冒芯片的套路!
  6. activemq 实例_在一台计算机上运行多个ActiveMQ实例
  7. 【51Nod - 1268】和为K的组合 (背包 或 dfs)
  8. 优雅的redux异步中间件 redux-effect
  9. 信息学奥赛一本通(1060:均值)
  10. vue——缓存路由组件
  11. 使用过这么多年Hibernate,对底层原理你知多少?
  12. photoshop标尺工具_RulersGuides.js – Web上的Photoshop样式标尺和指南
  13. 草图大师(SketchUp Pro 2019)多语言 永久启用教程
  14. oracle检查表失效,PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示...
  15. 【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码
  16. 事件参数screenX、pageX、clientX 、offsetX的区别
  17. IDEA 2020.1.2 无法显示图片的魔幻解决方法
  18. 【水汐のpython】 用python抓取外网的本子站并获取本子封面和信息
  19. BLE数据报文格式解析
  20. s3c2440 IIC AT24C08 (II)非中断模式

热门文章

  1. C语言:计算2的50次方需要多久?
  2. android应用编译失败 ResXMLTree_node size 类错误,以及 android studio 项目内搜索
  3. mac连接华为手机调试android程序
  4. 453. 最小移动次数使数组元素相等
  5. topik怎么读_韩语topik建议自学吗?
  6. 如何用matlab进行脑电信号处理,基于matlab的脑电信号处理
  7. USB3.0 U盘速度慢的常见问题
  8. 协方差、协方差矩阵的数学概念及算法计算
  9. 五大常用算法—动态规划详解和经典题目(python)
  10. 计算机主机红灯不闪硬盘工作,电脑硬盘指示灯不亮怎么办?如何解决电脑硬盘灯不亮问题...