项目作者: CodingCrush

项目描述 :
基于Flask的开源周报系统,快速docker部署
高级语言: JavaScript
项目地址: git://github.com/CodingCrush/WeeklyReport.git
创建时间: 2017-04-01T11:49:46Z
项目社区:https://github.com/CodingCrush/WeeklyReport

开源协议:MIT License

关键词:
bootstrap docker flask sqlalchemy

下载


demo: https://wr.mcloud.fun:81

加入docker-compose

可以在新机器上, 直接一键启动了:
docker-compose up

加入entrypoint.sh脚本:
1 启动时先等待pg启动
2 判断pg里是否已经有表
3 如果没有表, 初始化表
4 用gunicorn 启动 app

快速运行

-w <N>为开启的gunicorn worker进程数
-p 8000:80 主机通过8000端口访问

  1. git clone https://github.com/CodingCrush/WeeklyReport && \
  2. cd WeeklyReport && \
  3. docker build -t weeklyreport:0.2 . && \
  4. docker run -d \
  5. --restart=unless-stopped \
  6. --name weeklyreport-server \
  7. -p 8000:80 \
  8. -v /etc/localtime:/etc/localtime:ro \
  9. -v $PWD:/opt/weeklyreport \
  10. weeklyreport:0.2 \
  11. gunicorn wsgi:app --bind 0.0.0.0:80 -w 2 --log-file logs/awsgi.log --log-level=DEBUG

更新说明

V0.2: 简化了部署步骤

配置说明

  • 配置数据库
    数据库默认使用sqlite,也可以使用postgres container,cd到postgres目录下,pull镜像,启动。
    数据库URI地址由数据库名、用户名、密码、主机、端口号组成。

    1. SQLALCHEMY_DATABASE_URI = 'postgresql://postgres:postgres@localhost/wr_prd'

    步骤见postgres目录下的readme.md

  • 配置config.py

DEPARTMENTS: 这个元组为部门列表,第一次打开时自动初始化到数据库中,用户在注册时可以选择部门。

MAIL_USERNAME : 用来发送邮件通知的邮箱账号

MAIL_PASSWORD : 用来发送邮件通知的邮箱密码

后台管理

第一次注册的用户为超级管理员,永远有登录后台的权限。
管理员可以修改其他角色

默认用户角色为EMPLOYEE,仅具有读写自己的周报的权限,

MANAGER可以读写周报,并查看本部门所有周报。而HR可以读写周报,并查看全部门所有周报。

ADMINISTRATOR在HR基础上增加了进入后台的功能。

QUIT用来标识离职后的员工,禁止其登录。