Now system uses Admin panel for managing all items and Results viewer for viewing results. Those services are available via basic auth, and allow full access to one login/password pair.
In the new system Admin panel and Results viewer based on Blazor server will be replaced with Control panel based on Blazor WASM. Access to managing and viewing results will be based on users' account and JWT.
To work using docker-compose you should use alias odc (olympiad-docker-compose)
# On Windows
. .\alias.ps1
# On Linux
. ./alias.shIn the next steps, the alias will be used
odc pullodc up -dServices and default users
| Service | Url | User | Password |
|---|---|---|---|
| User frontend | http://localhost:5500 | admin@localhost.ru | VeryStrongPass1 |
| Admin panel | http://localhost:5500/admin/ | admin | VeryStrongPassword1 |
Use Cake wrapper to build all parts
./build.ps1odc build --no-cacheodc up -dUsing PowerShell
Create file environment.ps1 (already in .gitignore)
$Env:JWT_SECRET_KEY="key for jwt"
$Env:OLYMPIAD_DOMAIN="target domain"
$Env:OLYMPIAD_PRIVATE_REGISTRY_ADDRESS="your private registry for executor domain"
$Env:OLYMPIAD_PRIVATE_REGISTRY_LOGIN="your private registry for executor login"
$Env:OLYMPIAD_PRIVATE_REGISTRY_PASSWORD="your private registry for executor password"
$Env:RABBITMQ_PASSWORD="password for internal communication in rabbitmq"
$Env:GENERATE_USER_EMAIL_DOMAIN="domain to generate user accounts, like localhost.ru"
$Env:POSTGRES_CONNECTION_STRING="Connection string for production database"
$Env:EXECUTOR_USER_LOGIN="executor account login"
$Env:EXECUTOR_USER_PASSWORD="executor account password. CHANGE PASSWORD AFTER AUTO CREATING!"
$Env:S3_SERVICE_URL="s3 service address like storage.yandexcloud.net"
$Env:S3_SERVICE_ACCESS_KEY_ID="s3 key id"
$Env:S3_SERVICE_SECRET_ACCESS_KEY="s3 key secret"
$Env:S3_SERVICE_FORCE_PATH_STYLE="true if local like zenko, false id provider accepts bucket as subdomain"
$Env:S3_SERVICE_BUCKET_NAME="s3 bucket name"Invoke
. .\alias.ps1 ;; . .\environment.ps1 ;; .\genStack.ps1Use stack.yml file to publish service to docker swarm

