Docker 部署 wg-easy 和 firefly

概述

在本指南中,我们将详细介绍如何在 Docker 中部署两个流行的应用程序:wg-easy 和 firefly-iii。wg-easy 是一个用于管理 WireGuard VPN 的简单界面,而 firefly-iii 是一个开源的个人财务管理工具。

环境准备

在开始之前,确保您的系统上已经安装了 Docker 和 Docker Compose。如果还没有安装,请参考 Docker 官方文档进行安装。

部署 wg-easy

wg-easy 是一个简化的 WireGuard VPN 管理工具,提供了一个易于使用的 Web 界面。

创建 Docker Compose 文件

首先,创建一个目录来存放配置文件,然后创建一个 docker-compose.yml 文件。

mkdir wg-easy
cd wg-easy
nano docker-compose.yml

docker-compose.yml 文件中添加以下内容:

version: '3'

services:
  wg-easy:
    image: weejewel/wg-easy
    container_name: wg-easy
    environment:
      - WG_HOST=your_domain_or_ip
      - PASSWORD=your_admin_password
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    volumes:
      - ./config:/etc/wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv4.ip_forward=1
    restart: unless-stopped

启动服务

保存并关闭文件后,运行以下命令启动服务:

docker-compose up -d

这将下载 wg-easy 镜像并启动服务。您可以通过访问 http://your_domain_or_ip:51821 来访问 Web 界面,使用您在环境变量中设置的密码登录。

部署 firefly-iii

firefly-iii 是一个功能强大的开源个人财务管理工具。

创建 Docker Compose 文件

创建一个新的目录来存放 firefly-iii 的配置文件,然后创建一个 docker-compose.yml 文件。

mkdir firefly-iii
cd firefly-iii
nano docker-compose.yml

docker-compose.yml 文件中添加以下内容:

version: '3'

services:
  firefly-iii:
    image: jc5x/firefly-iii
    container_name: firefly-iii
    environment:
      - APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=firefly
      - DB_USERNAME=firefly
      - DB_PASSWORD=fireflypassword
    ports:
      - "8080:80"
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mysql:5.7
    container_name: firefly-db
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=firefly
      - MYSQL_USER=firefly
      - MYSQL_PASSWORD=fireflypassword
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped

volumes:
  db_data:

注意:确保将 APP_KEY 替换为实际的应用程序密钥。可以使用以下命令生成一个新的密钥:

docker run --rm jc5x/firefly-iii php artisan key:generate --show

启动服务

保存并关闭文件后,运行以下命令启动服务:

docker-compose up -d

这将下载 firefly-iii 和 MySQL 镜像并启动服务。您可以通过访问 http://your_domain_or_ip:8080 来访问 firefly-iii 的 Web 界面。

分析说明表

应用程序 配置文件路径 主要环境变量 访问端口 说明
wg-easy ./wg-easy/config WG_HOSTPASSWORD 51820/udp,51821/tcp 用于管理 WireGuard VPN 的 Web 界面
firefly-iii ./firefly-iii/config APP_KEYDB_CONNECTIONDB_HOSTDB_PORTDB_DATABASEDB_USERNAMEDB_PASSWORD 8080/tcp 个人财务管理工具,使用 MySQL 数据库

思维导图

mindmap
  root((Docker 部署))
    wg-easy
      - 创建目录和配置文件
      - 配置 docker-compose.yml
      - 启动服务
    firefly-iii
      - 创建目录和配置文件
      - 配置 docker-compose.yml
      - 启动服务

总结

通过 Docker 和 Docker Compose,可以轻松地部署和管理复杂的应用程序。本文详细介绍了如何在 Ubuntu 系统上使用 Docker 部署 wg-easy 和 firefly-iii,并提供了每个步骤的具体配置和操作方法。希望这些内容能帮助您快速上手,顺利完成应用程序的部署和管理。