[{"data":1,"prerenderedAt":426},["ShallowReactive",2],{"navigation_docs_en":3,"-en-dev-stockage-externe":160,"-en-dev-stockage-externe-surround":421},[4,25,87,126,141],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Bien démarrer",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"First Launch","\u002Fen\u002Fgetting-started\u002Fpremier-demarrage","en\u002F1.getting-started\u002F3.premier-demarrage","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Guide d'utilisation","\u002Fen\u002Fguide","en\u002F2.guide",[30,57,62,67,72,77,82],{"title":31,"path":32,"stem":33,"children":34},"File Import","\u002Fen\u002Fguide\u002Fimport","en\u002F2.guide\u002F1.import\u002Findex",[35,36,41,45,49,53],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39,"icon":40},"MetaTrader 5","\u002Fen\u002Fguide\u002Fimport\u002Fmt5","en\u002F2.guide\u002F1.import\u002F1.mt5","i-lucide-file-spreadsheet",{"title":42,"path":43,"stem":44,"icon":40},"NinjaTrader 8","\u002Fen\u002Fguide\u002Fimport\u002Fninja-trader","en\u002F2.guide\u002F1.import\u002F2.ninja-trader",{"title":46,"path":47,"stem":48,"icon":40},"Interactive Brokers","\u002Fen\u002Fguide\u002Fimport\u002Finteractive-brokers","en\u002F2.guide\u002F1.import\u002F3.interactive-brokers",{"title":50,"path":51,"stem":52,"icon":40},"Quantower","\u002Fen\u002Fguide\u002Fimport\u002Fquantower","en\u002F2.guide\u002F1.import\u002F4.quantower",{"title":54,"path":55,"stem":56,"icon":40},"Standard CSV format","\u002Fen\u002Fguide\u002Fimport\u002Fstandard-csv","en\u002F2.guide\u002F1.import\u002F5.standard-csv",{"title":58,"path":59,"stem":60,"icon":61},"Dashboard and metrics","\u002Fen\u002Fguide\u002Fdashboard","en\u002F2.guide\u002F2.dashboard","i-lucide-chart-line",{"title":63,"path":64,"stem":65,"icon":66},"Calendar","\u002Fen\u002Fguide\u002Fcalendrier","en\u002F2.guide\u002F3.calendrier","i-lucide-calendar",{"title":68,"path":69,"stem":70,"icon":71},"Daily view","\u002Fen\u002Fguide\u002Fdaily-view","en\u002F2.guide\u002F4.daily-view","i-lucide-calendar-days",{"title":73,"path":74,"stem":75,"icon":76},"Trades","\u002Fen\u002Fguide\u002Ftrades","en\u002F2.guide\u002F5.trades","i-lucide-table",{"title":78,"path":79,"stem":80,"icon":81},"Notes panel","\u002Fen\u002Fguide\u002Fnotes","en\u002F2.guide\u002F6.notes","i-lucide-pen-tool",{"title":83,"path":84,"stem":85,"icon":86},"Tag system","\u002Fen\u002Fguide\u002Ftags","en\u002F2.guide\u002F7.tags","i-lucide-tag",{"title":88,"icon":6,"path":89,"stem":90,"children":91,"page":6},"Settings","\u002Fen\u002Fparametres","en\u002F3.parametres",[92,97,102,106,111,116,121],{"title":93,"path":94,"stem":95,"icon":96},"Accounts","\u002Fen\u002Fparametres\u002Fcomptes","en\u002F3.parametres\u002F1.comptes","i-lucide-users",{"title":98,"path":99,"stem":100,"icon":101},"Symbols","\u002Fen\u002Fparametres\u002Fsymboles","en\u002F3.parametres\u002F2.symboles","i-lucide-chart-candlestick",{"title":103,"path":104,"stem":105,"icon":86},"Tags","\u002Fen\u002Fparametres\u002Ftags","en\u002F3.parametres\u002F3.tags",{"title":107,"path":108,"stem":109,"icon":110},"Backup","\u002Fen\u002Fparametres\u002Fbackup","en\u002F3.parametres\u002F4.backup","i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Tools","\u002Fen\u002Fparametres\u002Ftools","en\u002F3.parametres\u002F5.tools","i-lucide-wrench",{"title":117,"path":118,"stem":119,"icon":120},"Plugins","\u002Fen\u002Fparametres\u002Fplugins","en\u002F3.parametres\u002F6.plugins","i-lucide-puzzle",{"title":122,"path":123,"stem":124,"icon":125},"Options","\u002Fen\u002Fparametres\u002Foptions","en\u002F3.parametres\u002F7.options","i-lucide-cog",{"title":127,"icon":6,"path":128,"stem":129,"children":130,"page":6},"Configuration avancée","\u002Fen\u002Favance","en\u002F4.avance",[131,136],{"title":132,"path":133,"stem":134,"icon":135},"Configuration","\u002Fen\u002Favance\u002Fconfiguration","en\u002F4.avance\u002F1.configuration","i-lucide-settings",{"title":137,"path":138,"stem":139,"icon":140},"FAQ","\u002Fen\u002Favance\u002Ffaq","en\u002F4.avance\u002F3.faq","i-lucide-circle-help",{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":6},"Développeur","i-lucide-code","\u002Fen\u002Fdev","en\u002F5.dev",[147,152,157],{"title":148,"path":149,"stem":150,"icon":151},"Technical reference","\u002Fen\u002Fdev\u002Freference-technique","en\u002F5.dev\u002F1.reference-technique","i-lucide-server",{"title":153,"path":154,"stem":155,"icon":156},"External storage","\u002Fen\u002Fdev\u002Fstockage-externe","en\u002F5.dev\u002F2.stockage-externe","i-lucide-hard-drive",{"title":117,"path":158,"stem":159,"icon":120},"\u002Fen\u002Fdev\u002Fplugins","en\u002F5.dev\u002F3.plugins",{"id":161,"title":153,"body":162,"description":412,"extension":413,"links":414,"meta":415,"navigation":416,"path":154,"seo":417,"stem":155,"__hash__":420},"docs_en\u002Fen\u002F5.dev\u002F2.stockage-externe.md",{"type":163,"value":164,"toc":405},"minimark",[165,174,179,187,224,228,246,250,271,275,282,306,356,360,388,401],[166,167,168,169,173],"p",{},"TradeJourney can use an ",[170,171,172],"strong",{},"external storage server"," as a temporary relay: the MT5 EA or NinjaTrader indicator deposits trades there, then TradeJourney retrieves them and imports them into its database. It is only a transit — data is not kept on this server. This configuration is entirely optional.",[175,176,178],"h2",{"id":177},"start-the-storage-server","Start the storage server",[166,180,181,182,186],{},"The ",[183,184,185],"code",{},"docker-compose.storage.yml"," file allows you to quickly deploy the service.",[188,189,194],"pre",{"className":190,"code":191,"language":192,"meta":193,"style":193},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","docker compose -f docker-compose.storage.yml up -d --build\n","bash","",[183,195,196],{"__ignoreMap":193},[197,198,201,205,209,212,215,218,221],"span",{"class":199,"line":200},"line",1,[197,202,204],{"class":203},"sBMFI","docker",[197,206,208],{"class":207},"sfazB"," compose",[197,210,211],{"class":207}," -f",[197,213,214],{"class":207}," docker-compose.storage.yml",[197,216,217],{"class":207}," up",[197,219,220],{"class":207}," -d",[197,222,223],{"class":207}," --build\n",[175,225,227],{"id":226},"stop-the-service","Stop the service",[188,229,231],{"className":190,"code":230,"language":192,"meta":193,"style":193},"docker compose -f docker-compose.storage.yml down\n",[183,232,233],{"__ignoreMap":193},[197,234,235,237,239,241,243],{"class":199,"line":200},[197,236,204],{"class":203},[197,238,208],{"class":207},[197,240,211],{"class":207},[197,242,214],{"class":207},[197,244,245],{"class":207}," down\n",[175,247,249],{"id":248},"view-logs","View logs",[188,251,253],{"className":190,"code":252,"language":192,"meta":193,"style":193},"docker compose -f docker-compose.storage.yml logs -f\n",[183,254,255],{"__ignoreMap":193},[197,256,257,259,261,263,265,268],{"class":199,"line":200},[197,258,204],{"class":203},[197,260,208],{"class":207},[197,262,211],{"class":207},[197,264,214],{"class":207},[197,266,267],{"class":207}," logs",[197,269,270],{"class":207}," -f\n",[175,272,274],{"id":273},"environment-variables","Environment variables",[166,276,277,278,281],{},"In your ",[183,279,280],{},".env"," file:",[188,283,287],{"className":284,"code":285,"language":286,"meta":193,"style":193},"language-env shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","STORAGE_SERVER_PORT=5000\nSTORAGE_SERVER_DEBUG=false\nCLEANUP_DAYS_OLD=2\n","env",[183,288,289,294,300],{"__ignoreMap":193},[197,290,291],{"class":199,"line":200},[197,292,293],{},"STORAGE_SERVER_PORT=5000\n",[197,295,297],{"class":199,"line":296},2,[197,298,299],{},"STORAGE_SERVER_DEBUG=false\n",[197,301,303],{"class":199,"line":302},3,[197,304,305],{},"CLEANUP_DAYS_OLD=2\n",[307,308,309,322],"table",{},[310,311,312],"thead",{},[313,314,315,319],"tr",{},[316,317,318],"th",{},"Variable",[316,320,321],{},"Description",[323,324,325,336,346],"tbody",{},[313,326,327,333],{},[328,329,330],"td",{},[183,331,332],{},"STORAGE_SERVER_PORT",[328,334,335],{},"Storage server listening port",[313,337,338,343],{},[328,339,340],{},[183,341,342],{},"STORAGE_SERVER_DEBUG",[328,344,345],{},"Enable debug mode (detailed logs)",[313,347,348,353],{},[328,349,350],{},[183,351,352],{},"CLEANUP_DAYS_OLD",[328,354,355],{},"Age in days beyond which files are automatically deleted",[175,357,359],{"id":358},"how-it-works","How it works",[361,362,363,371,381],"ul",{},[364,365,366,367,370],"li",{},"Files are persisted in the Docker volume ",[183,368,369],{},"storage_data",".",[364,372,373,374,377,378,380],{},"A ",[183,375,376],{},"storage-cleanup"," service runs in a loop every hour to delete files older than ",[183,379,352],{}," days.",[364,382,383,384,387],{},"API authentication is done via the ",[183,385,386],{},"X-API-Token"," header.",[389,390,392,393,396,397,400],"callout",{"icon":391},"i-lucide-info","External storage is currently only used for ",[170,394,395],{},"MT5 EAs"," or ",[170,398,399],{},"NinjaTrader indicators"," to quickly retrieve the day's trades. For other import methods, it is not necessary.",[402,403,404],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":193,"searchDepth":296,"depth":296,"links":406},[407,408,409,410,411],{"id":177,"depth":296,"text":178},{"id":226,"depth":296,"text":227},{"id":248,"depth":296,"text":249},{"id":273,"depth":296,"text":274},{"id":358,"depth":296,"text":359},"Configuration of the optional external storage server for TradeJourney.","md",null,{},{"icon":156},{"title":418,"description":419},"External storage - TradeJourney","Configure the optional external storage server for TradeJourney.","FKrA0I49l3pbsu7KDPxEdqjdLdkgqMg4zxKh-HU20-c",[422,424],{"title":148,"path":149,"stem":150,"description":423,"icon":151,"children":-1},"Local installation, Prisma commands, schema migrations, and security for TradeJourney.",{"title":117,"path":158,"stem":159,"description":425,"icon":120,"children":-1},"Plugin compilation and packaging guide for TradeJourney.",1780445261237]