~/ayakaleaf-toolkit.
1
Container settings
Edit the existing entries in Keep the default data paths and bundled MongoDB and Redis services. Port
config/overleaf.rc:config/overleaf.rc
8080 is for the local Windows browser; binding to 127.0.0.1 keeps it local. Sandboxed compiles use a separate Linux container for each compile, rather than running TeX inside the application container. The Docker socket lets the application create those containers, and the Toolkit supplies the host path for the compile data under data/overleaf/data/compiles.2
Application settings
In The full image includes the packages and fonts needed for a broad range of projects. Allow at least 40 GB of free storage for it and the application, plus space for project data and future updates.For a quick deployment test, use the smaller basic image instead. It is enough for the plain article test in step 6, but does not include the full package and font set:Choose one of these sets, without duplicate active keys. The basic image’s Dockerfile includes Add the result as
config/variables.env, set these values, replacing any active entries with the same names:config/variables.env
latexmk, XeTeX and fontspec, but not ctex or the full font collection. A missing LaTeX package in basic does not by itself indicate a sandbox problem.Generate a session secret:OVERLEAF_SESSION_SECRET in config/variables.env. Keep the generated invite-token secret too. For a local instance without email, leave SMTP settings and OVERLEAF_EMAIL_FROM_ADDRESS unset.3
Start your instance
bin/up while the first is still working.In another Ubuntu terminal, check:Ctrl+C to stop following logs; detached containers keep running. If startup fails at MongoDB, follow MongoDB fails to start before retrying. Do not delete its data directory to reset an existing installation.Check the port and first-run page:127.0.0.1:8080. Wait for application initialization if the HTTP request initially fails.4
Open the instance from Windows
In your Windows browser, open http://localhost:8080/launchpad. Use this address in Windows too, rather than a temporary WSL IP address.To check Windows HTTP access separately from the browser, run in PowerShell:If Ubuntu can reach the page but Windows cannot, see Windows cannot open localhost.

