From 3d6089a50171c0e7ca54453b149e8e2b8fef5f4f Mon Sep 17 00:00:00 2001 From: ignacionelson Date: Fri, 21 Aug 2026 14:39:24 -0300 Subject: [PATCH] Docs: clear up two contradictions in the migration and Docker guides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 2 of the v1 migration guide said Direct hardlinks your files instead of copying them. It does not: copy is the default in both the command and the screen, and hardlink is one of the four strategies you choose in step 3a. Say that where the choice is first mentioned. DOCKER.md's "Move the data you already have" reads like it is about the data in a Legacy install. It is about relocating an already-running install's named volumes onto the host paths chosen a step earlier, which is why it opens by telling a new installation to skip it. Retitle it and spell out that a new install waiting for a v1 migration skips it too — that data arrives later, through the migration tool, and the install has to be empty when it does. --- DOCKER.md | 11 +++++++++-- MIGRATING-FROM-V1.md | 8 +++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/DOCKER.md b/DOCKER.md index f5cb7999..4881e512 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -149,9 +149,16 @@ them, and check the result before applying it — this prints the fully merged c docker compose config ``` -### 3. Move the data you already have +### 3. Move an existing install's data onto the new paths -**Skip this on a brand-new installation.** There is nothing to move; go straight to step 4. +This step is only for an install that has **already been running** on the named volumes and is now +moving to the host paths you just chose. It moves ProjectSend's own storage and database, nothing +else. + +**Skip it on a brand-new installation** — there is nothing to move; go straight to step 4. That +includes an install you are about to migrate ProjectSend Legacy (v1) into: those files and that +database come across later, through the migration tool, and the new install has to be empty when +they do. See [MIGRATING-FROM-V1.md](MIGRATING-FROM-V1.md). Stop everything first. Copying a database out from under a running MySQL is how you get a backup that restores into a corrupt table. diff --git a/MIGRATING-FROM-V1.md b/MIGRATING-FROM-V1.md index 429c3ae1..0fea2e06 100644 --- a/MIGRATING-FROM-V1.md +++ b/MIGRATING-FROM-V1.md @@ -178,9 +178,11 @@ are listed at each step. | Legacy and ProjectSend are on the **same machine** | [**Direct**](#step-3a--direct-same-machine) | | Legacy is on **another server**, or on hosting you cannot reach from the new box | [**Bundle**](#step-3b--bundle-different-machines) | -Direct is faster and simpler, and on a single filesystem it does not copy your files at all — it -hardlinks them, so 400 GB migrates in seconds and both installs point at the same bytes until you -decide otherwise. Use it if you can. +Direct is faster and simpler. It copies your files by default, and it can also *hardlink* them +instead when you ask it to — on a single filesystem that writes no bytes at all, so 400 GB migrates +in seconds and both installs point at the same bytes until you decide otherwise. Either way your +Legacy install is left intact. Use Direct if you can; [Step 3a](#step-3a--direct-same-machine) has +the strategies. ---