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
к существующему конкурсу, который вы создали ранее во вкладкеДомены
.
Для просмотра заявок, вопросов и оценок перейдите во вкладку Конкурсы
и нажмите на гиперссылку с интересующим разделом.