⚠ WIP, MVP
(you may want to replace the domain name in files with you own)
docker build -t dockingjudge-unit JudgeUnit
docker compose up -d rabbitmq # for some reason rabbitmq sometimes does not start properly. I am investigating this issue
docker compose up -d --buildalso replace example sensitive information in .env (like SECRET_KEY).
You can consult docs for more info.
If you want to deploy locally, without a domain, then you need to deploy frontend separately:
-
$ cd Frontend $ npm install --legacy-peer-deps $ npm run dev -- --host --port 3000 -
# api_gateway_nginx.conf # proxy_pass http://frontend.service:3000; proxy_pass http://host.docker.internal:3000;
Dockingjudge consists of several services:
(formalised arch definition located in dockingjudge.aisle)
- More security on judgelet
- run judgelet as non-root
- (maybe) introduce bubblewrap
- Add more compilers (at least cpp)
- Add tests
- judgelet
- judge svc
- solution svc
- contest svc
- account svc
- e2e
- Lint and test in CI
- judgelet
- judge svc
- solution svc
- contest svc
- account svc
- e2e
- Move config to config files
- judgelet
- solution svc
- contest svc
- account svc
- Add metrics
- contest svc
- account svc
- tidy up in docker-compose.yml
- deploy from ghcr.io
- Make frontend locally deployable in container
- Massive frontend rework
- Add contest timer
- Add profile pictures
- Get rid of pydantic in application layer (bruh)
- Migrate from RMQ to NATS
- Consider using inbox pattern with judgeservice
- Add tracing
- judge svc
- solution svc
- contest svc
- account svc
- Load testing
- Refactor Gherkin tests
- Add messages
- add DL (disk limit) verdict returned when sandbox occupies too much disk space
- Public/private contests
- registration 400 "a server error occurred". Add more informative error message.
- standings are messed up
- Describe each service separately
- judgelet
- judge svc
- solution svc
- contest svc
- account svc
- Add openapi to docs


