The repository ships three Dockerfiles inside theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/TelegramOrg/Telegram-web-k/llms.txt
Use this file to discover all available pages before exploring further.
.docker/ directory — one for resolving dependencies, one for the development server, and one multi-stage build that produces a lean nginx image ready for production. All three are wired together in docker-compose.yaml, so you can switch between workflows with a single command.
- Development
- Production
The development workflow uses two services: The Port mapping:
tweb.dependencies installs node modules into a named volume that tweb.develop then mounts, avoiding a full pnpm install on every container restart.Install dependencies
Run the dependencies service to populate the This builds
node_modules volume:Dockerfile_dependencies (Node 18 base), installs pnpm globally, and runs pnpm install. The node_modules folder is written to the ./node_modules bind mount on your host.Start the development container
tweb.develop service mounts your entire project directory into /app inside the container, then starts Vite with:start-in-docker is identical to pnpm start but passes --host so Vite binds to 0.0.0.0 instead of localhost, making it reachable outside the container.Open the app
Navigate to http://localhost:8080 in your browser.Because your source files are bind-mounted, edits on the host trigger Vite’s hot module replacement inside the container with no restart required.
8080 → 8080Volume mounts:./node_modules→/app/node_modules(dependencies service)./→/app(develop service — full project)
Run the dependencies service again whenever you add or update packages in
package.json. The develop service does not run pnpm install on its own.