全栈代理自动化工具

一个基于Docker Compose的全栈代理和自动化工具,包含n8n、PostgreSQL、Ollama、Open WebUI等多个组件,支持快速部署和管理。

  • by damalis
  • Shell
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 damalis/full-stack-proxy-nginx-n8n-for-everyone-with-docker-compose

使用说明

全栈代理nginx n8n适用于所有使用docker compose的人

如果你想在短时间内安装n8n;

“本地开发,全球发布”

好处

  • 无需授权
  • 不需要付费凭证。
  • 无配额

全栈代理Nginx n8n:

另外,使用Portainer管理docker容器。

支持的CPU架构:

支持的Linux软件包管理系统:

支持的Linux操作系统:

注意:Fedora 37、39和alpine linux x86-64兼容,无法尝试sles IBM Z s390x、rhel IBM Z s390 x和raspberrypi。
安装存储库后,需要在Red Hat OS、Arch Linux上重新启动系统。
系统要求
  • 操作系统:当前的64位Linux操作系统。
  • 处理器:8核64位处理器(建议使用Intel i5/AMD Ryzen 3或更高版本)。
  • RAM:最低16GB(建议较大型号使用32GB)。
  • 存储空间:至少20GB的可用磁盘空间(像Llama 3.2这样的型号需要大量空间)。
  • GPU(可选):配备4GB+VRAM的NVIDIA GPU,用于硬件加速(需要CUDA支持)。

使用此项目,您可以快速运行以下操作:

对于certbot(letsencrypt)证书:

IPv4/IPv6防火墙

创建规则以打开到互联网或特定IPv4地址或范围的端口。

  • http:80
  • https:443
  • 产品管理员:9090
  • 传送带:9001

内容:

自动

用于自动安装和配置的Exec-install shell脚本

下载与

git clone https://github.com/damalis/full-stack-proxy-nginx-n8n-for-everyone-with-docker-compose.git

打开终端 cd 到其中的文件夹 docker-compose.yml 已保存并运行:

cd full-stack-proxy-nginx-n8n-for-everyone-with-docker-compose
chmod +x install.sh
LC_ALL=C.UTF-8 ./install.sh # LC_ALL=C.UTF-8 if not os language english

手册

需求

确保您拥有最新版本的 码头工人 和 Docker Compose 安装在您的机器上。

克隆此存储库或将此存储库中的文件复制到新文件夹中。

确保 将您的用户添加到 docker 群组.

配置

下载与

git clone https://github.com/damalis/full-stack-proxy-nginx-n8n-for-everyone-with-docker-compose.git

打开终端 cd 到其中的文件夹 docker-compose.yml 已保存并运行:

cd full-stack-proxy-nginx-n8n-for-everyone-with-docker-compose

将示例环境复制到 .env

cp env.example .env

编辑 .env 文件以更改的值

|LOCAL_TIMEZONE|DOMAIN_NAME|N8N_SUBDOMAIN|WEBUI_SUBDOMAIN|DIRECTORY_PATH|LETSENCRYPT_EMAIL| |DB_USER|DB_PASSWORD|DB_NAME|PGA_CONTROLPASS|SSL_SNIPPET|WHATSAPP_SUBDOMAIN|WHATSAPP_DASHBOARD_USERNAME| |WHATSAPP_DASHBOARD_PASSWORD|WHATSAPP_SWAGGER_USERNAME|WHATSAPP_SWAGGER_PASSWORD|

Variable Value
LOCAL_TIMEZONE to see local timezones
DIRECTORY_PATH pwd at command line
SSL_SNIPPET localhost echo 'Generated Self-signed SSL Certificate at localhost'
remotehost certbot certonly --webroot --webroot-path /tmp/acme-challenge --rsa-key-size 4096 --non-interactive --agree-tos --no-eff-email --force-renewal --email ${LETSENCRYPT_EMAIL} -d ${DOMAIN_NAME} -d www.${DOMAIN_NAME} -d mail.${DOMAIN_NAME} -d ${N8N_SUBDOMAIN}.${DOMAIN_NAME} -d ${WEBUI_SUBDOMAIN}.${DOMAIN_NAME} -d ${WHATSAPP_SUBDOMAIN}.${DOMAIN_NAME}

安装

第一:将创建外部卷

docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc

本地主机ssl:使用指南生成自签名ssl证书 mkcert存储库.

docker compose up -d

然后重新加载以进行代理ssl配置

docker container restart proxy

容器现在已构建并运行。您应该能够使用浏览器地址中配置的IP访问n8n安装。 https://N8N_SUBDOMAIN.DOMAIN_NAME.

为了方便起见,您可以在hosts文件中添加一个新条目。

波特纳

docker compose -f portainer-docker-compose.yml -p portainer up -d 

管理docker 波特纳 是Docker、Docker Swarm的最终容器管理工具,具有高度直观的GUI和API。

您还可以访问 https://DOMAIN_NAME:9001 启动容器后访问portainer。

用法

您可以使用portainer在没有命令行的情况下管理docker容器。

以下是常用Docker Compose命令的快速参考

docker ps -a # Lists all containers managed by the compose file
docker compose start # Starts previously stopped containers
docker compose stop	# Stops all running containers
docker compose down	# Stops and removes containers, networks, etc.
docker compose down -v # Add --volumes to remove volumes explicitly
docker rm -f $(docker ps -a -q)	# Removes portainer and the other containers
docker volume rm $(docker volume ls -q)	# Removes all volumes
docker network prune # Remove all unused networks
docker system prune	# Removes unused data (containers, networks, images, and optionally volumes)
docker system prune -a # Removes all unused images, not just dangling ones
docker rmi $(docker image ls -q) # Removes portainer and the other images
docker container logs container_name_or_id # Shows logs from all services

来自现有来源的项目

将所有文件复制到新目录中:

docker compose up -d # Starts services in detached mode (in the background)

Docker运行参考

https://docs.docker.com/reference/cli/docker/compose/

n8n

n8n 本页提供有关为企业版和社区自托管版设置n8n的指导。社区版是免费的,企业版不是。。

邮件

发送电子邮件节点;

SMTP帐户: Host: mail; Port: 1025; SSL/TLS: off;

授权屏幕:|user: DB_USER|以及|password: DB_PASSWORD|在 .env 文件。

数据库

Postgres账户; |Host: database; Port: 5432; Database: DB_NAME; User: DB_USER; Password: DB_PASSWORD|在 .env 文件。

数据矢量

Postgres矢量账户; |Host: datavector; Port: 15432; Database: DB_NAME; User: DB_USER; Password: DB_PASSWORD|在 .env 文件。

pgAdmin

您还可以访问 https://DOMAIN_NAME:9090.

登录屏幕|username: LETSENCRYPT_EMAIL 和 password: PGA_CONTROLPASS|在 .env 文件。

您在浏览器中看不到登录页面;
pgAdmin以容器中pgAdmin组(GID:5050)中的pgAdmin用户(UID:5050)身份运行。 您必须确保所有文件都是可读的,并且在必要时(例如工作/会话目录)可以在主机上为该用户写入。

sudo chown -R 5050:5050 ./pgadmin 和 sudo chown -R 5050:5050 ./certbot/live/DOMAIN_NAME

奥拉玛

基本URL; |http://ollama:11434|

现在你可以拉一个模型: docker exec -it ollama ollama pull llama3
更多型号可以在 https://ollama.com/library.

打开WEBUI

您还可以访问 https://WEBUI_SUBDOMAIN.DOMAIN_NAME.

环境变量配置

代理

代理通常用于在多个服务器之间分配负载,无缝显示来自不同网站的内容,或通过HTTP以外的协议将处理请求传递给应用服务器。

在中添加或删除代码 ./proxy/templates/proxy.conf.template 自定义代理配置文件

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

瑞迪斯

配置; |Host: redis|

WhatsApp

API URL; |https://WHATSAPP_SUBDOMAIN.DOMAIN_NAME|和API密钥; |WHATSAPP_API_KEY|在 .env 文件。

您还可以访问 https://WHATSAPP_SUBDOMAIN.DOMAIN_NAME/dashboard 和招摇页面- https://WHATSAPP_SUBDOMAIN.DOMAIN_NAME.

授权屏幕:|Username: DB_USER|以及|Password: DB_PASSWORD|在 .env 文件。

n8n集成

配置

获取并扫描二维码

指南

管道

打开WEBUI管理配置 https://WEBUI_SUBDOMAIN.DOMAIN_NAME:

首选 管理面板>>设置->管道.

选择您的管道并直接从WebUI调整阀门值。

有关集成示例,请访问https://github.com/open-webui/pipelines/blob/main/examples,演示了如何为各种用例构建自定义管道。