# Remove incompatible or out of date Docker implementations if they existforpkgindocker.iodocker-docdocker-composedocker-compose-v2podman-dockercontainerdrunc;dosudoapt-getremove$pkg;done# Install prereq packages
sudoapt-getupdate
sudoapt-getinstallca-certificatescurl
# Download the repo signing key
sudoinstall-m0755-d/etc/apt/keyrings
sudocurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg-o/etc/apt/keyrings/docker.asc
sudochmoda+r/etc/apt/keyrings/docker.asc
# Configure the repositoryecho"deb [arch=$(dpkg--print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(./etc/os-release&&echo"${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null
# Update and install Docker and Docker Compose
sudoapt-getupdate
sudoapt-getinstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
通过键入以下内容验证 Docker 和 Docker Compose 是否可用:
12
docker--version
dockercomposeversion
2.可选:非root用户访问
您可以选择授予访问权限以在没有命令的情况下运行 Docker 。
要授予您当前登录的用户访问权限(假设他们有访问权限),请运行:
123
sudousermod-aGdocker${USER}# Register the `docker` group memebership with current session without changing your primary groupexecsgdockernewgrp
要授予其他用户访问权限,请键入以下内容,并替换为适当的用户名:
1
sudousermod-aGdocker<USER_TO_RUN_DOCKER>
您需要从该用户的任何现有会话运行才能访问新的组权限。
您可以通过输入以下内容来验证当前会话是否识别该组:
1
groups
3. DNS设置
要在线或在网络上托管 n8n,请创建指向您的服务器的专用子域。
添加 A 记录以相应地路由子域:
类型:A
名称:(或所需的子域名)
IP地址:(您的服务器的IP地址)
4.创建文件
创建一个项目目录来存储您的 n8n 环境配置和 Docker Compose 文件并在其中导航:
12
mkdirn8n-compose
cdn8n-compose
在目录中,创建一个文件来自定义 n8n 实例的详细信息。请根据您自己的信息进行更改:
.env 文件
1 2 3 4 5 6 7 8 9101112131415
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from# The top level domain to serve fromDOMAIN_NAME=example.com
# The subdomain to serve fromSUBDOMAIN=n8n
# The above example serve n8n at: https://n8n.example.com# Optional timezone to set which gets used by Cron and other scheduling nodes# New York is the default value if not setGENERIC_TIMEZONE=Europe/Berlin
# The email address to use for the TLS/SSL certificate creationSSL_EMAIL=user@example.com