ContestGenerator — это платформа для создания и проведения олимпиад.
- Установка и развертывание платформы
- Работа с платформой
- Сервер с установленным Docker и IPV4 адресом
- Docker версии 20.10 или выше
- Домен
В файле docker-compose.yml определены следующие переменные окружения для различных сервисов:
Сервис pg (PostgreSQL):
- POSTGRES_USER: имя пользователя для подключения к базе данных.
- POSTGRES_PASSWORD: пароль пользователя для подключения к базе данных.
- POSTGRES_DB: имя создаваемой базы данных.
Сервис contestgenerator:
- CONNECTION_STRING: строка подключения к базе данных PostgreSQL, содержащая хост, порт, имя базы данных, имя пользователя и пароль.
- ASPNETCORE_ENVIRONMENT: определяет среду выполнения приложения (Development, Staging, Production).
- ASPNETCORE_URLS: URL, на котором приложение будет принимать запросы.
- ADMIN_PASS: начальный пароль администратора для доступа к платформе.
Файл Caddyfile содержит начальную конфигурацию Caddy.
Ниже приведена конфигурация для домена https://mydomain.com. Замените mydomain.com на домен по которому будет доступна платформа.
{
admin :2019
auto_https off
}
mydomain.com {
reverse_proxy {
to contestgenerator:5000
header_up -X-Forwarded-Host
}
}
- Создайте A-запись в настройках DNS вашего домена, указывающую на IP-адрес сервера, где будет развернута платформа
- Клонируйте репозиторий
git clone https://github.com/yungd1plomat/ContestGenerator.git
cd ContestGenerator- Измените параметры конфигурации в файлах Caddyfile и docker-compose.yml
- Создайте сеть
caddyкомандой
docker network create caddy- Запустите контейнеры командой
docker-compose up -d- Проверка статуса контейнеров Убедитесь, что все контейнеры запущены и работают корректно:
docker-compose psВы должны увидеть статус Up для всех сервисов.
После успешного развертывания платформа будет доступна по адресу вашего домена (например, http://mydomain.com). Стандартные данные для входа в качестве администратора:
- Логин:
admin - Пароль:
Admin_12345(задается в переменнойADMIN_PASS)
Чтобы создать нового пользователя или изменить существующего (жюри или администратора) перейдите во вкладку Настройки.
Чтобы загрузить файлы перейдите во вкладку Файлы.
Для создания конкурса перейдите во вкладку Конкурсы и создайте конкурс с необходимыми блоками.
- Приобретите домен, на котором будет располагаться ваш конкурс, например, чтобы конкурс
Моя землябыл доступен по ссылкеhttps://my-world.ruвам необходим доменmy-world.ru - Создайте A-запись в настройках DNS вашего домена, указывающую на IP-адрес сервера, где развернута платформа
- Привяжите ваш домен, например
my-world.ruк существующему конкурсу, который вы создали ранее во вкладкеДомены.
Для просмотра заявок, вопросов и оценок перейдите во вкладку Конкурсы и нажмите на гиперссылку с интересующим разделом.