Conversation
- dev-start.sh: starts the Bitcart stack without requiring root access, using sslip.io wildcard DNS on high ports (8080/8443) instead of .local domains on port 80 - dev-stop.sh: stops the dev stack - compose/dev-overrides.yml: extra_hosts entries so SSR requests from admin/store containers reach the API via the Docker host - .gitignore: add var/ for local static sites directory Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Thank you/claude, but what is the main purpose of this PR? Or deployment in docker, but for what purposes specifically? Local development of e.g. plugins? Otherwise, I don't think I understand why this is needed? Also this deploy disables one domain mode for some reason (also admin panel and store now send requests only from browser in optimized use case) |
Local development without root - in docker.
The standard Bitcart startup flow is:
setup.sh → Installs Docker, writes system-level config to /etc/profile.d/,
registers systemd services, edits /etc/hosts for .local domains,
and calls start.sh. Must be run as root.
start.sh → Sources helpers.sh, calls load_env (which reads the profile
script from /etc/profile.d/ and the .deploy file), then runs
bitcart_start to build plugins and bring up containers.
Assumes setup.sh has already run.
Both scripts assume root access for:
- Writing to /etc/profile.d/ (environment persistence)
- Binding ports 80/443
- Editing /etc/hosts for .local domains
- Touching files inside Docker volume paths on the host filesystem
Sometimes, root access is not available, or not desirable. This script bypasses all of that:
of /etc/profile.d/
/etc/hosts editing is needed
instead of touching the Docker volume path directly on the host
that admin/store containers can reach the API via sslip.io (which
would otherwise resolve to 127.0.0.1 inside the container)
survive save_deploy_config overwriting .deploy
Usage
./dev-start.sh # start/restart the stack
./dev-stop.sh # stop the stack
After startup