Docker 部署 Firefly III 服务

news/2024/12/5 5:12:59/

拉取最新版本的 Firefly III 镜像:

$ sudo docker pull fireflyiii/core:latest

在本地预先创建好 uploadexport 目录, 用于映射 Firefly III 容器内的 /var/www/html/storage/upload/var/www/html/storage/export 目录。

使用以下命令来运行 Firefly III 容器:

$ sudo docker run -d --name fireflyiii -e APP_KEY=xxx -e DB_HOST=127.0.0.1 -e DB_CONNECTION=pgsql -e DB_PORT=5432 -e DB_DATABASE=firefly -e DB_USERNAME=firefly -e DB_PASSWORD=xxx -p 10087:8080 -v /home/ubuntu/docker/fireflyiii/upload:/var/www/html/storage/upload -v /home/ubuntu/docker/fireflyiii/export:/var/www/html/storage/export fireflyiii/core:latest
  • -d (保持STDIN打开状态)
  • --name (给容器起一个名字方便管理)
  • -e APP_KEY=xxx (环境变量, 使用 head /dev/urandom | LC_ALL=C tr -dc 'A-Za-z0-9' | head -c 32 && echo 生成)
  • -e DB_HOST=127.0.0.1 (环境变量, 数据库地址)
  • -e DB_CONNECTION=pgsql (环境变量, 数据库类型)
  • -e DB_PORT=5432 (环境变量, 数据库端口)
  • -e DB_DATABASE=firefly (环境变量, 数据库库名)
  • -e DB_USERNAME=firefly (环境变量, 数据库用户)
  • -e DB_PASSWORD=xxx (环境变量, 数据库密码)
  • -p 10087:8080 (将容器的8080端口映射到主机的10087端口)
  • -v /home/ubuntu/docker/fireflyiii/upload:/var/www/html/storage/upload (文件挂载目录, 存放上传文件)
  • -v /home/ubuntu/docker/fireflyiii/export:/var/www/html/storage/export (文件挂载目录, 存放导出文件)

通过 docker ps 命令查看容器的运行信息:

$ sudo docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS                             PORTS                                               NAMES
13c2a7e55067   fireflyiii/core:latest      "/usr/local/bin/entr…"   14 seconds ago   Up 13 seconds (health: starting)   0.0.0.0:10087->8080/tcp, :::10087->8080/tcp         fireflyiii

现在可以访问搭建好的 Firefly III 网站了。

如果需要配置反向代理实现 HTTPS 访问, 还需要在启动时添加下面两个环境变量:

  • -e APP_URL=https://firefly.example.com
  • -e TRUSTED_PROXIES=**

http://www.ppmy.cn/news/1123022.html

相关文章

go语言 rune 类型

ASCII 码只需要 7 bit 就能完整地表示,但只能表示英文字母在内的 128 个字符,为了表示世界上大部分的文字系统,发明了 Unicode ,它是 ASCII 的超集,包含世界上书写系统中存在的所有字符,并且为每个代码分配…

点云从入门到精通技术详解100篇-机载 LiDAR 点云滤波及分类(中)

目录 3.2 研究区概况 3.3 两种滤波算法结果对比 3.4 结果评价 3.4.1 结果精度 3.4.2 结果对比

Linux学习笔记-应用层篇

1、Linux进程、线程概念/区别 Linux进程和线程是计算机系统中两种不同的资源分配和调度单位。 进程是计算机系统进行资源分配和调度的基本单位,也被认为是正在运行的程序。在面向线程的计算机结构中,进程是线程的容器。进程拥有独立的内存和系统资源&am…

openjdk和oracle jdk的区别

OpenJDK 和 Oracle JDK 都是 Java Development Kit (JDK) 的不同实现,用于开发和运行 Java 应用程序。它们有一些区别,但也有很多相似之处。以下是它们之间的主要区别: 开源性质: OpenJDK 是开源的,由一个社区维护和开…

Python_ithheima_第二阶段

第一章 01-初识对像 02 类的成员方法 03 类和对象 04 构造方法 05 魔术方法 06 封装 07 封装的课后练习题讲解 08 继承的基础语法 pass关键字的功能是“语法补全” 同名成员或方法,谁先来谁优先级高 09 复写父类成员和调用父类成员 10 变量的类型注解 11 函数和方法…

Python:Django框架的Hello wrold示例

Django是Python的目前很常用的web框架,遵循MVC设计模式。 以下介绍如何安装Django框架,并生成最简单的项目,输出Hello world。(开发工具VScode) 一、安装Django 在VScode终端控制台执行以下指令安装Django python install django 如果要查…

C语言动态实现顺序栈

#include <bits/stdc.h> using namespace std; #define ElemType int #define MAXSIZE 200 #define OK 1 /* 可以定义一个 overflow是溢出&#xff0c;为-1 */ typedef struct //定义栈的结构体 {ElemType* base;ElemType* top;int stacksize; }SqStack;void Ini…

聊聊jedis连接池参数配置

序 本文主要研究一下jedis连接池的参数配置 JedisConfig redis/clients/jedis/JedisPoolConfig.java public class JedisPoolConfig extends GenericObjectPoolConfig<Jedis> {public JedisPoolConfig() {// defaults to make your life with connection pool easier…