使用 Docker 部署 Memos:简易教程

Memos 是一个简单而高效的自托管笔记应用,适合用来存储和管理你的笔记。今天,我将介绍如何使用 Docker 来部署 Memos,并连接到一个 MySQL 数据库。

前期准备

首先,确保你已经安装了 Docker 和 Docker Compose。如果没有,请按照官方文档的步骤进行安装。

编写 docker-compose.yml

在部署 Memos 前,我们需要编写一个 docker-compose.yml 文件,配置相关的服务。

services:memos:image: neosmemo/memos:stablecontainer_name: memosrestart: alwaysnetworks:- memos_networkvolumes:- ./memos/:/var/opt/memosports:- "5230:5230"environment:- MEMOS_DRIVER=mysql- MEMOS_DSN=账号:密码@tcp(IP地址:3306)/数据库名- TZ=Asia/Shanghainetworks:memos_network:driver: bridge

配置解释

  1. image: neosmemo/memos:stable
    使用官方 Memos 镜像,这里指定了稳定版。

  2. container_name: memos
    设置容器名称为 memos,你可以根据需要修改。

  3. restart: always
    配置容器重启策略,确保 Docker 重启时容器能够自动重启。

  4. volumes: ./memos/:/var/opt/memos
    映射宿主机目录 ./memos/ 到容器的 /var/opt/memos,确保 Memos 的数据能够持久化存储。

  5. ports: "5230:5230"
    映射容器的端口 5230 到宿主机的同一端口,你可以通过 http://localhost:5230 来访问 Memos。

  6. environment
    设置环境变量:

    • MEMOS_DRIVER=mysql 指定数据库驱动为 MySQL。

    • MEMOS_DSN=账号:密码@tcp(IP地址:3306)/数据库名 配置数据库连接字符串。将 账号密码IP地址数据库名 替换为你的实际数据库信息。

    • TZ=Asia/Shanghai 设置时区为上海。

  7. networks
    配置 Docker 网络,使用 bridge 驱动确保容器可以通过网络互联。

启动 Memos 服务

完成 docker-compose.yml 文件后,在终端中进入该文件所在目录,执行以下命令启动 Memos 容器:

docker-compose up -d

此命令将后台运行 Memos 容器。你可以通过访问 http://localhost:5230 来查看 Memos 应用是否成功启动。

配置 MySQL 数据库

Memos 默认使用 MySQL 作为数据库,如果你已经搭建了 MySQL 数据库,确保数据库配置正确。如果你还没有 MySQL 数据库,你可以使用 Docker 部署一个 MySQL 实例。下面是一个简单的 MySQL 服务配置:

services:mysql:image: mysql:5.7container_name: mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: root_passwordMYSQL_DATABASE: memos_dbports:- "3306:3306"networks:- memos_network

通过 docker-compose up -d 启动 MySQL 服务后,确保 Memos 配置中的数据库信息正确无误。

访问 Memos

配置完成后,打开浏览器并访问 http://localhost:5230,你将看到 Memos 的登录页面。如果一切正常,你就可以开始使用 Memos 来管理你的笔记了。

总结

通过使用 Docker 部署 Memos,我们可以非常方便地将这个笔记管理工具在本地或服务器上进行自托管。Docker Compose 帮助我们快速启动并管理多个容器,让部署过程变得更加简单和可维护。

希望这个教程对你有所帮助,如果你有任何问题,欢迎留言讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25893.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring报错解决一览

Spring错误持续更新贴… 问题一 springcloud-OAuth2.0配置的时候报错 Method springSecurityFilterChain in org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration required a bean of type ‘org.springframework.boot.autoconfigu…

免费使用 DeepSeek API 教程及资源汇总

免费使用 DeepSeek API 教程及资源汇总 一、DeepSeek API 资源汇总1.1 火山引擎1.2 百度千帆1.3 阿里百炼1.4 腾讯云 二、其他平台2.1 华为云2.2 硅基流动 三、总结 DeepSeek-R1 作为 2025 年初发布的推理大模型,凭借其卓越的逻辑推理能力和成本优势,迅速…

蓝桥杯备考:DFS剪枝之数的划分

这道题和组合型枚举差不多,比如我们从第一个数开始填,到第二个数的时候,21明显是重复了,我们就没必要继续往下递归了,这个叫剪掉等效冗余分支,然后还有就是,比如我们2开始的枝头,222…

蓝桥杯 路径之谜

路径之谜 题目描述 小明冒充 XX 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nnnn 个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走…

Blender调整最佳渲染清晰度

1.渲染采样调高 512 2.根据需要 开启AO ,开启辉光 , 开启 屏幕空间反射 3.调高分辨率 4096x4096 100% 分辨率是清晰度的关键 , 分辨率不高 , 你其他参数调再高都没用 4.世界环境开启体积散射 , 可以增强氛围感 5.三点打光法 放在模型和相机45夹角上 白模 白模带线条 成品

Django基础环境准备

Django基础环境准备 文章目录 Django基础环境准备1.准备的环境 win11系统(运用虚拟环境搭建)1.1详见我的资源win11环境搭建 2.准备python环境2.1 winr 打开命令提示符 输入cmd 进入控制台2.2 输入python --version 查看是否有python环境2.3在pyhton官网下…

介绍一款飞算JavaAI编程工具,集成到idea,图文并茂

飞算的插件下载地址,里边也有安装步骤: JavaAI 下载 从file-》setting-》plugin,然后走图中所示 选择从磁盘安装插件:找到下载好的压缩包然后进行idea重启 根据提示模块可以生成代码,就是需要等待,后期不…

python-leetcode-斐波那契数

509. 斐波那契数 - 力扣(LeetCode) class Solution:def fib(self, n: int) -> int:if n 0:return 0dp [0] * (n 1)dp[1] 1for i in range(2, n 1):dp[i] dp[i - 1] dp[i - 2]return dp[n]

类和对象——const修饰的类的对象和函数

const修饰的类的对象和函数 const成员函数和const对象1 const成员函数2 调用关系3 const在成员函数中的位置4 取地址&及const取地址操作符重载 const成员函数和const对象 1 const成员函数 将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数&…

unity学习61:UI布局layout

目录 1 布局 layout 1.1 先准备测试UI,新增这样一组 panel 和 image 1.2 新增 vertical layout 1.3 现在移动任意一个image 都会影响其他 1.3.1 对比 如果没有这个,就会是覆盖效果了 1.3.2 对比 如果没有这个,就会是覆盖效果了 1.4 总结&#xf…

第48天:Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工…

使用tkinter有UI方式来拷贝Excel文件

有需求使用tkinter 有用户交互界面来拷贝Excel文件,最后进行打包完成 代码如下,实现思路是先使用tkinter库选择Excel路径,然后保存到txt文档, import time import tkinter from pathlib import Path from typing import Optiona…

【六祎 - Note】Redis缓存设计模型,备忘录;

Redis缓存备忘录 from to : 点击访问源地址

天佐.乾坤袋 基于抽屉式文件存储的NoSql数据库

天佐.乾坤袋 天佐.乾坤袋 简介 天佐.乾坤袋 基于抽屉式文件存储的NoSql数据库,可用于文件打包,数据整合,加密存放等多种用途。可以方便快捷的搭建和部署存储应用的系统。 传说: 弥勒所有,专做储物之用。拥有不可思议之力&#x…

【前端基础】Day 5 CSS浮动

目录 1. 浮动 1.1 标准流(普通流/文档流) 1.2 浮动 1.2.1 浮动的特性 1.2.2 浮动元素常和标准流父级搭配使用 1.2.3 案例 2. 常见网页布局 2.1 常见网页布局 2.2 浮动布局注意点 3. 清除浮动 3.1 原因 3.2 清除浮动的本质 3.3 清除浮动的方…

硬编码(三)经典变长指令一

我们在前两节的硬编码中学习了定长指令,接下来学习变长指令 对于定长指令,我们通过opcode便可知该指令的长度,但是对于变长指令却是不可知的。变长指令长度由opcode,ModR/M,SIB共同决定。变长指令通常在需要操作内存的…

【免费】YOLO[笑容]目标检测全过程(yolo环境配置+labelimg数据集标注+目标检测训练测试)

一、yolo环境配置 这篇帖子是我试过的,非常全,很详细【cudaanacondapytorchyolo(ultralytics)】 yolo环境配置 二、labelimg数据集标注 可以参考下面的帖子,不过可能会出现闪退的问题,安装我的流程来吧 2.1 labelimg安装 label…

Cursor配置MCP Server

一、什么是MCP MCP(Model Context Protocol)是由 Anthropic( Claude 的那个公司) 推出的开放标准协议,它为开发者提供了一个强大的工具,能够在数据源和 AI 驱动工具之间建立安全的双向连接。 举个好理解…

【开源免费】基于SpringBoot+Vue.JS新闻资讯系统(JAVA毕业设计)

本文项目编号 T 220 ,文末自助获取源码 \color{red}{T220,文末自助获取源码} T220,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

CSDN年度评选揭晓,永洪科技AI技术与智能应用双星闪耀

近日,永洪科技在CSDN(中国专业开发者社区)的年度评选中,凭借在人工智能技术创新与vividime在行业应用中的卓越表现,一举斩获“人工智能企业”及“智能应用”双料大奖。这一荣誉不仅彰显了永洪科技在AI领域的领先地位&a…