docs: clarify Docker installation and add VPS deployment guide - #3828
docs: clarify Docker installation and add VPS deployment guide#3828Glazzze wants to merge 5 commits into
Conversation
ajhollid
left a comment
There was a problem hiding this comment.
Looks good for the most part. The old Docker directories/compose files no longer exist so the warning there isn't really relevant anymore and can be removed safely. Thanks for the contribution!
| ``` | ||
|
|
||
| Then open http://localhost:52345. If the app is reached at another origin (domain or LAN IP), set `CLIENT_HOST` accordingly. To build the image yourself, run `docker build -f docker/Dockerfile -t checkmate .` from a checkout. For TLS, put any reverse proxy (Caddy, Traefik, nginx) in front of port 52345. | ||
| Then open http://localhost:52345. This is the only current Compose file for a direct HTTP installation; the retired `docker/dist-mono/`, `docker/dist/`, and `docker/dist-arm/` directories must not be used. If the app is reached at another origin (domain or LAN IP), set `CLIENT_HOST` accordingly. To build the image yourself, run `docker build -f docker/Dockerfile -t checkmate .` from a checkout. |
There was a problem hiding this comment.
These docker files/directories no longer exist, this warning isn't needed anymore I don't think
| interval: 15s | ||
| timeout: 3s | ||
| start_period: 60s | ||
| retries: 3 |
There was a problem hiding this comment.
Any reason why start_interval was removed here?
| The quickest way to run Checkmate is the reference Docker Compose file, which runs the all-in-one image (`ghcr.io/bluewave-labs/checkmate`) plus MongoDB: | ||
| The quickest way to run Checkmate is the reference Docker Compose file. It starts two services: the all-in-one Checkmate application image (`ghcr.io/bluewave-labs/checkmate`) and a separate MongoDB service. | ||
|
|
||
| > **What “all-in-one” means:** the Checkmate application is packaged in a single image; MongoDB is not embedded in that image and remains required. The reference Compose file starts MongoDB for you. For custom deployments, configure `DB_CONNECTION_STRING` to use an external MongoDB instance. |
There was a problem hiding this comment.
This content is already merged from your other PR, suggest you rebase this PR so its diff is accurate
Signed-off-by: Glazzze <2050408913@qq.com>
b3f7cd9 to
6a6c6f0
Compare
|
Rebased onto the latest develop, so the already-merged README change is no longer included in this PR. I also restored the existing healthcheck start_interval values (2s for Checkmate and 1s for MongoDB). |
Signed-off-by: Glazzze <2050408913@qq.com>
|
Thanks for the review! I’ve removed the obsolete warning about the old Docker directories/compose files in d94347e. All formatting, build, and server-test checks are passing now. Could you please take another look when you have a chance? |
|
@ajhollid everything you asked for is in 👍 |
ajhollid
left a comment
There was a problem hiding this comment.
I think most of the issues are resolved, one thing that apppears to b emissing is the NODE_ENV var though 🤔 If the application runs in dev mode rate limiting is disabled, so it should probably be set.
Other than that, I'm not a devops guy, but won't all requests forwarded from Caddy share the same IP? If you have multiple users they'll run into the rate limit very quicky.
Signed-off-by: Glazzze <2050408913@qq.com>
|
Addressed in a43c3cc.
Validation: git diff --check and Docker Compose config expansion (using a temporary compatibility copy because the local Compose v2.10.2 does not support the existing start_interval field). |
ajhollid
left a comment
There was a problem hiding this comment.
Thanks for making the requested changes.
The addition of trust proxy should be configurable and false by default however, as we don't want to make assumptions about what kind of deployment a user has.
| }) => { | ||
| const allowedOrigin = envSettings.clientHost; | ||
| const app = express(); | ||
| app.set("trust proxy", 1); |
There was a problem hiding this comment.
This shouldn't be set by default as it makes an assumption about deployment. This should default to false by default and be handled by an env var that is validated by the env var validation schema.
Signed-off-by: Glazzze <2050408913@qq.com>
|
Addressed in 895f4c8. TRUST_PROXY is now validated, defaults to false, and is explicitly enabled only for the VPS Compose deployment. |
Describe your changes
docker/dist-mono,docker/dist, anddocker/dist-armdirectories must not be used.UPTIME_APP_*variables are ignored.52345internal for the VPS stack; only Caddy exposes ports80and443.Write your issue number after "Fixes "
Fixes #3823
Validation
docker compose --env-file <test-env> -f docker/docker-compose.vps.yaml config.git diff --check.Checklist
npm run formatin server and client directories.