canary/.gitattributes
Eduardo Dantas 076f8c3774
build(docker): add Canary quickstart with MyAAC and login-server (#3973)
Add a lightweight Docker quickstart for running a local Canary test stack without compiling Canary locally.

The default stack now starts MariaDB, Canary from the published runtime image, MyAAC from slawkens/myaac develop, and opentibiabr/login-server as the client login web service.

Key decisions:
- Use MyAAC only as the website and admin AAC.
- Require clients to use login-server instead of MyAAC login.php.
- Set the default client login URL to http://localhost:8088/login.
- Remove MyAAC login.php from the quickstart image to prevent accidental usage.
- Use the published Canary runtime image instead of building Canary locally.
- Standardize public Canary Docker settings under the CANARY_ prefix.
- Keep the quickstart local/dev oriented and document that default credentials and test accounts are unsafe for public Internet exposure.

Main changes:
- Rework docker/docker-compose.yml into a user-facing quickstart stack.
- Add a MyAAC quickstart image with Bootstrap support.
- Update the Canary runtime entry point to initialize schema, test accounts, map download, backups, and runtime config from CANARY_ variables.
- Align the default status protocol port to 7173 across Compose, runtime entrypoint, MyAAC entrypoint, and smoke-test defaults.
- Add guarded startup scripts for Windows, Linux, macOS, and WSL.
- Add automatic .env bootstrap from .env.dist when missing.
- Add optional LAN mode through up.ps1 -Lan or LAN=true ./up.sh.
- Handle WSL LAN setup using the Windows host IP instead of the WSL NAT IP.
- Add beginner-focused documentation in docs/docker/quickstart-for-beginners.md.
- Update docker/DOCKER.md and the root README.md with script-based setup instructions and local/dev safety warnings.
- Document that the latest image tags are rolling.
- Add LOGIN_SERVER_IMAGE so the login-server image can be pinned for reproducible setups.
- Add CI validation for the Docker runtime rootfs artifact and quickstart smoke flow.
- Make runtime smoke log artifact uploads best-effort so optional upload failures do not fail passing smoke jobs.
- Add .dockerignore and Docker-related LF normalization rules.

Validation:
- Validated Docker Compose configuration and service generation.
- Validated shell, PowerShell, PHP, Python, Ruby/YAML, and git diff checks.
- Smoke-tested the full stack with db, server, myaac, and login-server.
- Verified POST /login returns world and characters.
- Verified LAN login from WSL against the Windows host IP.
- Verified MyAAC home returns 200.
- Verified MyAAC image does not contain /var/www/html/login.php.
- Verified MyAAC /login.php returns 404.

This gives new users a safer, simpler local Docker path for testing Canary with the intended login-server flow, while keeping MyAAC limited to website/admin usage.
2026-05-25 01:18:52 -03:00

19 lines
466 B
Text

text eol=lf
.gitattributes text eol=lf
.dockerignore text eol=lf
*.md text eol=lf
*.ps1 text eol=lf
*.sh text eol=lf
.github/**/*.sh text eol=lf
.github/**/*.py text eol=lf
.github/**/*.yml text eol=lf
.github/**/*.yaml text eol=lf
docker/Dockerfile.* text eol=lf
docker/**/Dockerfile text eol=lf
docker/**/*.sh text eol=lf
docker/**/*.php text eol=lf
docker/**/*.yml text eol=lf
docker/**/*.yaml text eol=lf
docker/**/*.md text eol=lf
docker/**/*.dist text eol=lf