Hello. So I took a good look at the other relating threads on this but the suggestions & solutions haven’t worked-out with this specific setup. I should warn, I have little understanding of what i’m doing.
I have docker on ubuntu server 2.04 with traefik & portainer running fine. I played with n8n desktop & thought I set it up over to this same server in hopes of not having to deal with nginx.
/home/user/ is where all the files are saved. Thinking of using /home/user/n8n/data/.n8n to hold the config, database etc.
/n8n has the following docker-compose.yml
I did make variations with different labels, environments, & volumes but this one is the last tried copy.
Summary
version: “3”
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- “127.0.0.1:5678:5678”
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(${SUBDOMAIN}.${DOMAIN_NAME}
)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=web,websecure
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
- [email protected]
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER
- N8N_BASIC_AUTH_PASSWORD
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- N8N_LOG_LEVEL=debug
volumes:
- ${DATA_FOLDER}/.n8n:/home/user/data/.n8n
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
The .env file:
I did try a few versions with different directories for the data_folder but userSettings defaults to /home/node/.n8n/config
Summary
Folder where data should be saved
DATA_FOLDER=/home/user/n8n/data/
The top level domain to serve from
DOMAIN_NAME=domain.io
The subfolder to serve from
SUBFOLDER=n8n
N8N_PATH=/n8n/
The subdomain to serve from
SUBDOMAIN=n8n
DOMAIN_NAME and SUBDOMAIN combined decide where n8n will be reachable from
above example would result in: https://example.com/n8n/
The user name to use for autentication - IMPORTANT ALWAYS CHANGE!
N8N_BASIC_AUTH_USER=user
The password to use for autentication - IMPORTANT ALWAYS CHANGE!
N8N_BASIC_AUTH_PASSWORD=pass
Optional timezone to set which gets used by Cron-Node by default
If not set New York time will be used
GENERIC_TIMEZONE=Somewhere/Nice
The email address to use for the SSL certificate creation
This is the log:
Summary
[+] Running 1/1
⠿ Container n8n-n8n-1 Created 0.1s
Attaching to n8n-n8n-1
n8n-n8n-1 | 2022-08-04T01:57:08.643Z | info | Initializing n8n process “{ file: ‘start.js’ }”
n8n-n8n-1 | UserSettings were generated and saved to: /home/node/.n8n/config
n8n-n8n-1 | 2022-08-04T01:57:11.566Z | debug | No codex available for: N8nTrainingCustomerDatastore.node.js “{ file: ‘LoadNodesAndCredentials.js’, function: ‘addCodex’ }”
n8n-n8n-1 | 2022-08-04T01:57:11.568Z | debug | No codex available for: N8nTrainingCustomerMessenger.node.js “{ file: ‘LoadNodesAndCredentials.js’, function: ‘addCodex’ }”
n8n-n8n-1 | query is slow: CREATE TABLE “migrations” (“id” integer PRIMARY KEY AUTOINCREMENT NOT NULL, “timestamp” bigint NOT NULL, “name” varchar NOT NULL)
n8n-n8n-1 | execution time: 4802
n8n-n8n-1 | 2022-08-04T01:57:13.635Z | warn | Migrations in progress, please do NOT stop the process. “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.636Z | debug | Starting migration InitialMigration1588102412422 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.765Z | debug | Finished migration InitialMigration1588102412422 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.802Z | debug | Starting migration WebhookModel1592445003908 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.826Z | debug | Finished migration WebhookModel1592445003908 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.853Z | debug | Starting migration CreateIndexStoppedAt1594825041918 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.881Z | debug | Finished migration CreateIndexStoppedAt1594825041918 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.908Z | debug | Starting migration MakeStoppedAtNullable1607431743769 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.939Z | debug | Finished migration MakeStoppedAtNullable1607431743769 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:13.977Z | debug | Starting migration AddWebhookId1611071044839 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.092Z | debug | Finished migration AddWebhookId1611071044839 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.128Z | debug | Starting migration CreateTagEntity1617213344594 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.693Z | debug | Finished migration CreateTagEntity1617213344594 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.721Z | debug | Starting migration UniqueWorkflowNames1620821879465 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.749Z | debug | Finished migration UniqueWorkflowNames1620821879465 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.777Z | debug | Starting migration AddWaitColumn1621707690587 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:14.975Z | debug | Finished migration AddWaitColumn1621707690587 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.014Z | debug | Starting migration UpdateWorkflowCredentials1630330987096 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.022Z | debug | Finished migration UpdateWorkflowCredentials1630330987096 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.057Z | debug | Starting migration AddExecutionEntityIndexes1644421939510 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.230Z | debug | Finished migration AddExecutionEntityIndexes1644421939510 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.265Z | debug | Starting migration CreateUserManagement1646992772331 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.682Z | debug | Finished migration CreateUserManagement1646992772331 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.711Z | debug | Starting migration LowerCaseUserEmail1648740597343 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.736Z | debug | Finished migration LowerCaseUserEmail1648740597343 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.765Z | debug | Starting migration CommunityNodes1652254514001 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.825Z | debug | Finished migration CommunityNodes1652254514001 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:15.852Z | debug | Starting migration AddUserSettings1652367743993 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.000Z | debug | Finished migration AddUserSettings1652367743993 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.030Z | debug | Starting migration AddAPIKeyColumn1652905585850 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.199Z | debug | Finished migration AddAPIKeyColumn1652905585850 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.227Z | debug | Starting migration IntroducePinData1654089251344 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.255Z | debug | Finished migration IntroducePinData1654089251344 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.313Z | debug | Starting migration AddNodeIds1658930531669 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationStart’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.317Z | debug | Finished migration AddNodeIds1658930531669 “{ file: ‘migrationHelpers.js’, function: ‘logMigrationEnd’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.420Z | warn | Migrations finished. “{ file: ‘migrationHelpers.js’ }”
n8n-n8n-1 | 2022-08-04T01:57:16.445Z | debug | Wait tracker querying database for waiting executions “{ file: ‘WaitTracker.js’, function: ‘getwaitingExecutions’ }”
n8n-n8n-1 | n8n ready on 0.0.0.0, port 5678
n8n-n8n-1 | Version: 0.189.0
n8n-n8n-1 | 2022-08-04T01:57:16.536Z [Rudder] debug: in flush
n8n-n8n-1 | 2022-08-04T01:57:16.537Z [Rudder] debug: batch size is 1
n8n-n8n-1 | 2022-08-04T01:57:16.541Z [Rudder] debug: no existing flush timer, creating new one
n8n-n8n-1 |
n8n-n8n-1 | Editor is now accessible via:
n8n-n8n-1 | https://sub.domain.io:5678/
I did try sub-sub folder for the domain and got the certificate working but it still hits page 404.
Not sure where to go from here.
All inputs are much appreciated.