【Docker项目实战】使用Docker部署DailyTxT加密日记网络应用程序

简介: 【4月更文挑战第6天】使用Docker部署DailyTxT加密日记网络应用程序

一、DailyTxT介绍

1.1 DailyTxT简介

  • DailyTxT简介

DailyTxT 是一个加密的日记网络应用程序,可以写下您当天的故事并轻松再次找到它们。 它是用Python Flask(后端)和Vue.JS(前端)编写的,旨在由Docker运行 - 支持AMD64和ARM64。

1.2 DailyTxT特点

  • 加密:您写入的所有内容在写入服务器存储之前都会进行加密。即使是管理员也无法读取您的私人内容!
  • 文件上传:您可以每天上传任意文件(每个文件最大 128 MB)。它们也以加密方式存储在服务器上。
  • 搜索:通过轻松扫描笔记中的任何关键字并重新发现您可能几乎忘记的细节来支持您的记忆。
  • 多语言支持:该网络应用程序目前提供德语、英语、西班牙语和中文(简体)翻译版本。系统会根据浏览器的设置自动检测和选择语言。- - 添加更多语言很容易 - 如果您向我提供语言文件!看client/src/lang/translations
  • 移动:响应式设计,便于在移动屏幕上使用。此外:允许安装“A2HS”(添加 2 个主屏幕)
  • 多用户接口:您可以创建多个用户帐户。每个帐户都使用自己的加密密钥,因此不存在数据泄露的风险。
  • 备份和恢复:出于备份原因,您可以将所有数据(解密)导出到 zip 文件中,稍后通过上传 zip 重新导入数据。
  • 模板:创建模板,您可以每天重复使用这些模板。

1.3 DailyTxT使用场景

  • 个人日记:DailyTxT可以作为个人记录和回顾日常生活的工具。用户可以在应用程序中写下每天的故事、感受和思考,并通过加密保护其隐私。

  • 团队协作:DailyTxT可以用作团队协作工具,团队成员可以在应用程序中分享和讨论每天的进展、问题和想法。每个团队成员都可以保持自己的日记本,而且由于加密保护,只有被授权的团队成员可以访问他人的日记。

  • 学生记录:学生可以使用DailyTxT来记录学习的进展和经验,以及记录每天的问题和解决方案。这有助于学生跟踪他们的学习过程,并提供一个地方来回顾和反思他们的学习经历。

  • 情感日记:DailyTxT可以作为情感日记的工具,用户可以在应用程序中记录自己的情感状态、心情和思考。这可以帮助用户更好地了解自己的情绪变化和情感发展,并提供一个安全的空间来表达和处理情感。

  • 心理健康和治疗支持:DailyTxT可以用作心理健康和治疗支持的工具。用户可以在应用程序中写下他们的心理状态、挑战和进步,并与治疗师或医生分享。DailyTxT的加密功能可确保用户的隐私和保密性。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
dokcer 192.168.3.166 centos 7.6 2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署DailyTxT加密日记网络应用程序。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]#  systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-01-04 22:20:00 CST; 12h ago
     Docs: https://docs.docker.com
 Main PID: 11192 (dockerd)
    Tasks: 36
   Memory: 258.5M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本,当前Docker版本为20.10.17。

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载DailyTxT镜像

从docker hub拉取DailyTxT镜像,如果镜像拉取过慢,可尝试更换国内镜像加速源。

[root@jeven dailytxt]# docker pull phitux/dailytxt:latest
latest: Pulling from phitux/dailytxt
Digest: sha256:fe39d699b7af49e6dd6b670300a9e3816fa36b8479fe9aeba9fe5eda0aa85d96
Status: Image is up to date for phitux/dailytxt:latest
docker.io/phitux/dailytxt:latest

五、部署DailyTxT应用

5.1 创建部署目录

创建DailyTxT部署目录/data/dailytxt/

mkdir -p /data/dailytxt/data  && cd /data/dailytxt/

5.2 编辑docker-compose.yaml文件

如果需要使用docker-cli命令部署,执行以下命令,设置host_port与SECRET_KEY后即可。

docker run -p 127.0.0.1:<host_port>:8765 -e "PORT=8765" -e "SECRET_KEY=<openssl rand -base64 32>" -e "ALLOW_REGISTRATION=True" -v </save/my/dailytxt-files/here/>:/app/data --name dailytxt -d phitux/dailytxt:latest

本次实践部署使用docker compose方式,编辑docker-compose.yaml文件。

version: "3"

services:
  dailytxt:
    image: phitux/dailytxt:latest
    container_name: dailytxt
    restart: always
    environment:
      # That's the internal container-port. You can actually use any portnumber (must match with the one at 'ports')
      - PORT=8765

      - SECRET_KEY=HANEZfT3CWsWOUf/5rtXqL4E2HfwquXzeCNUwoovL20=

      # Set it to False or remove the line completely to disallow registration of new users.
      - ALLOW_REGISTRATION=True

      # Use this if you want the json log file to be indented. Makes it easier to compare the files. Otherwise just remove this line!
      - DATA_INDENT=2

      # Set after how many days the JWT token will expire and you have to re-login. Defaults to 30 days if line is ommited.
      - JWT_EXP_DAYS=60

      # Enable/disable a feature of DailyTxT to auto-check maximal once per hour if there's a newer version of DailyTxT available. Defaults to True if line is ommited.
      - ENABLE_UPDATE_CHECK=True
    ports:
      - 9809:8765
      # perhaps you only want:
      # "<host_port>:8765"
    volumes:
      - /data/dailytxt/data:/app/data/
      # Or perhaps if using on a windows enviroment:
      # "C:/Users/example/dailytxt/:/app/data"

5.3 创建DailyTxT容器

使用docker-compose.yaml文件创建DailyTxT容器

[root@jeven dailytxt]# docker compose up -d
[+] Running 2/2
 ⠿ Network dailytxt_default  Created                                                                                    0.1s
 ⠿ Container dailytxt        Started                                                                                    1.9s

5.4 检查DailyTxT容器状态

检查DailyTxT容器状态,确保DailyTxT容器正常启动。

[root@jeven dailytxt]# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS          PORTS                 NAMES
59fcd18d1090   phitux/dailytxt:latest   "/bin/sh -c 'gunicor…"   31 seconds ago   Up 28 seconds   0.0.0.0:9809->8765/tcp, :::9809->8765/tcp   dailytxt

六、访问DailyTxT首页

6.1 注册账号

访问地址:http://192.168.3.166:9809,将IP替换为自己服务器IP地址,进入到DailyTxT首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

点击注册账号,自定义设置账号密码登录即可。

在这里插入图片描述
在这里插入图片描述

七、DailyTxT的基本使用

7.1 上传文件

在DailyTxT右侧的文件区,点击上传文件。

在这里插入图片描述

点击文件区的上传文件,则可在当前浏览器直接下载。

在这里插入图片描述

7.2 图片预览

点击上传的图片文件,可以在线预览和下载。

在这里插入图片描述

7.3 编辑日记

可以在日记编辑区,编辑当天日记。

在这里插入图片描述

7.4 日记标记

可以标记某天日期,作为重要日记来标记。

在这里插入图片描述

7.5 日记搜索

可以在搜索栏内,搜索日记内容的关键字。

在这里插入图片描述

八、总结

DailyTxT是一款方便实用的日记工具,特别适合个人日常工作与学习使用。DailyTxT使用docker方式部署非常简单,界面美观简洁。通过左侧的日历栏,可以快速查看每日日记,搜索功能也非常强大,能够通过关键字快速找到相关日记。DailyTxT还具有加密功能,保障了我们的日记安全性。无论是记录日常生活还是重要事件,DailyTxT都是一个值得尝试的应用程序,它的易用性和加密功能让我们能够方便地记录日记笔记等。

相关文章
|
12月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
816 57
|
缓存 Shell 网络安全
将应用程序打包成Docker镜像时可能遇到哪些问题?
将应用程序打包成Docker镜像时可能遇到哪些问题?
1236 77
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
1870 39
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
602 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
传感器 算法 数据安全/隐私保护
基于GA遗传优化的三维空间WSN网络最优节点部署算法matlab仿真
本程序基于遗传算法(GA)优化三维空间无线传感网络(WSN)的节点部署,通过MATLAB2022A实现仿真。算法旨在以最少的节点实现最大覆盖度,综合考虑空间覆盖、连通性、能耗管理及成本控制等关键问题。核心思想包括染色体编码节点位置、适应度函数评估性能,并采用网格填充法近似计算覆盖率。该方法可显著提升WSN在三维空间中的部署效率与经济性,为实际应用提供有力支持。
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
590 20
|
传感器 算法 物联网
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。
536 16
|
存储 运维 监控
2025年4月深度评测:10款最值得部署的网络监控软件
真正卓越的运维不仅仅是对当前问题的解决,更在于对未来的预测和防范。 OpManager 的预测报表功能可以为用户提供有关未来存储需求增长方式的直观展示,帮助用户进行基于需求的容量规划,从而避免成本浪费。
658 0
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密

热门文章

最新文章