# 本機試玩用：只開在 127.0.0.1，不對外。
# 使用前：cp env.example .env，並把 N8N_ENCRYPTION_KEY 換成 `openssl rand -hex 32` 的結果
services:
  n8n:
    image: n8nio/n8n:2.45.7   # 固定版本，升級時手動改
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    env_file: .env
    environment:
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - N8N_SECURE_COOKIE=false            # 本機 http 才需要；上線用 https 時拿掉
      - GENERIC_TIMEZONE=Asia/Taipei
      - TZ=Asia/Taipei
      - N8N_RESTRICT_FILE_ACCESS_TO=/files
      - N8N_BLOCK_ENV_ACCESS_IN_NODE=true
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=168        # 執行紀錄保留 7 天（小時）
      - EXECUTIONS_DATA_PRUNE_MAX_COUNT=5000
      - DB_SQLITE_VACUUM_ON_STARTUP=true
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

volumes:
  n8n_data:
