【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都是一个值得尝试的应用程序,它的易用性和加密功能让我们能够方便地记录日记笔记等。

相关文章
|
1天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署Nas-Cab个人NAS平台
【5月更文挑战第2天】云原生之使用Docker部署Nas-Cab个人NAS平台
28 1
|
1天前
|
存储 安全 网络安全
网络安全与信息安全:防范漏洞、应用加密技术与提升安全意识
【5月更文挑战第5天】 在数字化时代,数据成为了新的货币,而网络安全则是保护这些“货币”的金库。本文深入探讨了网络安全领域中的关键要素:网络漏洞、加密技术以及个人和组织的安全意识。通过对网络漏洞的识别与防护策略的分析,我们揭示了黑客攻击背后的机理及其防御手段。同时,文章详细阐述了加密技术的工作原理、种类以及它们如何成为维护信息安全不可或缺的工具。最后,我们讨论了安全意识的重要性,并提出了一系列提升个人和企业安全意识的策略。本文旨在为读者提供一套全面的网络安全知识框架,以应对不断增长的网络威胁。
13 6
|
1天前
|
SQL 安全 网络安全
网络安全与信息安全:防范漏洞、强化加密、提升意识
【5月更文挑战第5天】随着互联网的普及和技术的快速发展,网络安全和信息安全问题日益凸显。本文将深入探讨网络安全漏洞的产生原因、加密技术的发展趋势以及提高安全意识的重要性。通过对这些方面的分析,旨在帮助读者更好地了解网络安全与信息安全的现状,提高防范意识,保护个人信息和企业数据。
10 4
|
2天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署RSS阅读器Huntly
【5月更文挑战第1天】云原生之使用Docker部署RSS阅读器Huntly
27 4
|
2天前
|
SQL 安全 算法
网络安全与信息安全:防范漏洞、强化加密、提升意识
【5月更文挑战第4天】 在数字化时代,网络安全与信息安全已成为维护社会稳定、保障个人隐私和企业资产的重要议题。本文将深入探讨网络安全中的关键漏洞问题,介绍现代加密技术如何为数据传输护航,并强调培养全民网络安全防护意识的必要性。通过分析当前安全形势下的挑战与对策,旨在提供一套综合性知识框架,帮助读者构建更为坚固的网络安全防线。
|
2天前
|
监控 安全 算法
网络防御的三重奏:漏洞管理、加密技术与安全意识提升
【5月更文挑战第4天】在数字化时代,网络安全与信息安全已成为维护企业和个人资产的关键。随着网络攻击手段的不断进化,有效防御策略必须涵盖对安全漏洞的管理、加密技术的运用以及安全意识的提升。本文将深入探讨这三个方面的技术原理和实践方法,旨在为读者提供全面的网络安全知识框架。
|
3天前
|
SQL 安全 程序员
网络安全与信息安全:防范漏洞、加强加密与提升安全意识
【5月更文挑战第3天】随着互联网的普及和技术的快速发展,网络安全与信息安全问题日益凸显。本文将探讨网络安全漏洞的产生原因、加密技术的应用以及提升安全意识的重要性。通过分析网络攻击手段,我们将了解如何防范网络安全漏洞;通过介绍加密技术的基本原理和实践应用,我们将掌握如何保护信息的安全;最后,我们将强调提升安全意识在维护网络安全中的关键作用。
|
4天前
|
存储 SQL 安全
网络安全的堡垒:漏洞防护、加密技术与安全意识
【5月更文挑战第2天】在数字化时代,网络安全已成为维护信息完整性、保障用户隐私和确保业务连续性的关键。本文深入探讨了网络安全领域内的三个核心议题:网络漏洞、加密技术及安全意识。通过对这些议题的分析,旨在为读者提供一个关于如何识别、防范和应对网络威胁的全面视角。文章将详细阐述常见安全漏洞类型、现代加密技术的发展以及提升个人和组织的安全意识的重要性,并提出切实可行的安全策略和建议。
|
4天前
|
存储 监控 安全
网络防御前线:洞悉漏洞、加密与意识
【5月更文挑战第2天】在数字化时代,网络安全已成为维护信息完整性、确保通信保密性和保障系统可用性的基石。本文将探讨网络安全的关键领域,包括识别和防范安全漏洞的策略、加密技术的应用以及提升个体和企业的安全意识。通过深入分析这些领域,我们旨在为读者提供一套综合的网络防护方法,以应对不断演变的安全威胁。