Отображает количество звёзд проекта Gitee в виде графика.
Официальный пример: https://www.whnb.wang
Сейчас наиболее популярной службой для отслеживания трендов звёзд является starchart.cc, например:
Но эта служба не поддерживает репозитории Gitee. Это должно быть исправлено!
Необходимо сначала изменить конфигурацию config/config.js
:
Замените часть, помеченную как 'локальные изменения требуют модификации этого параметра'
, своим реальным содержанием.
npm run start
# 1. Получение образа
docker pull justauth/gitee-stargazers:v1.11
# 2. Создание локальной базы данных Redis, можно использовать Docker или установить локально (необходимо обеспечить доступ из контейнера)
```# 3. Запуск контейнера
```bash
docker run \
-d \
-p 3000:3000 \
-e GITEE_USERNAME={ваш логин на Gitee} \
-e GITEE_PASSWORD={<PASSWORD>} \
-e GITEE_CLIENT_ID={ID клиента OAuth вашего приложения на Gitee} \
-e GITEE_CLIENT_SECRET={секрет клиента OAuth вашего приложения на Gitee} \
-e REDIS_HOST={хост Redis, по умолчанию 127.0.0.1} \
-e REDIS_PORT={порт Redis, по умолчанию 6379} \
-e REDIS_PASSWORD={<PASSWORD> Redis, обязательный параметр} \
-e REDIS_DB_INDEX={индекс базы данных Redis, по умолчанию 1} \
-e REDIS_EXPIRE={время истечения срока действия кэша Redis, по умолчанию 3600 секунд} \
-e REDIS_CONNECT_TIMEOUT={время ожидания соединения Redis, по умолчанию 3000 миллисекунд} \
-e CONTRIBUTORS_DIR={путь к директории, содержащей аватарки вкладчиков} \
-e PROD=true \
-v /var/log/gitee-stargazers/:/usr/src/app/log/ \
-v /var/gs/contributors/:/usr/src/gs/contributors/ \
--name gitee-stargazers \
justauth/gitee-stargazers:v1.11
GITEE_USERNAME
: ваш логин на GiteeGITEE_PASSWORD
: GITEE_CLIENT_ID
: ID клиента вашего приложения OAuth на GiteeGITEE_CLIENT_SECRET
: секрет клиента вашего приложения OAuth на GiteeREDIS_HOST
: хост Redis, по умолчанию 127.0.0.1
REDIS_PORT
: порт Redis, по умолчанию 6379
REDIS_PASSWORD
: пароль Redis, обязательный параметрREDIS_DB_INDEX
: индекс базы данных Redis, по умолчанию 1REDIS_EXPIRE
: время жизни кэша Redis, опциональный параметр, по умолчанию 3600, единицы измерения — секундыREDIS_CONNECT_TIMEOUT
: время ожидания соединения с Redis, опциональный параметр, по умолчанию 3000, единицы измерения — миллисекундыCONTRIBUTORS_DIR
: путь к директории, содержащей аватарки вкладчиков- PROD
: является ли окружение продактшном, строковый тип; если значение равно 'true'
, то консольные логи будут записываться в файл. При запуске Docker можно использовать следующие команды для просмотра логов:- Для просмотра бизнес-логов консоли: tail -f /var/log/gitee-stargazers/console-xxx.log
tail -f /var/log/gitee-stargazers/access-xxx.log
Создайте файл docker-compose.yml.
version: '3.3'
services:
app:
image: "justauth/gitee-stargazers:v1.11"
container_name: "gitee-stargazers"
volumes:
- /var/log/gitee-stargazers/:/usr/src/app/log/
environment:
# Является ли это окружение production? Строка типа, когда значение равно 'true', консольные логи будут записываться в файл
PROD: "true"
# Ваше имя пользователя на Gitee
GITEE_USERNAME: "xx"
# Пароль вашего аккаунта на Gitee
GITEE_PASSWORD: "xx"
# ID клиента OAuth приложения Gitee
GITEE_CLIENT_ID: "xx"
# Клиентский секрет OAuth приложения Gitee
GITEE_CLIENT_SECRET: "xx"
# Хост Redis соединения, по умолчанию 127.0.0.1
REDIS_HOST: 'redis'
# Порт Redis, по умолчанию 6379
REDIS_PORT: 6379
# Пароль Redis, обязательный параметр, пароль, указанный при запуске контейнера Redis (--requirepass)
REDIS_PASSWORD: "gs123456"
# Время ожидания соединения Redis, секунды
REDIS_CONNECT_TIMEOUT: 3
# Время жизни кэша Redis, секунды
REDIS_EXPIRE: 3600
# Индекс базы данных Redis, по умолчанию 1
REDIS_DB_INDEX: 2
# Путь к папке с аватарами участников
CONTRIBUTORS_DIR: /usr/src/gs/contributors
ports:
- "3000:3000"
depends_on:
- redis
links:
- redis
redis:
image: redis
container_name: "gs_redis"
command: redis-server --appendonly yes --requirepass gs123456
ports:
- "6379:6379"
volumes:
- /var/redis/:/data/
Замените значения в разделе environment
на реальные данные согласно примечаниям и запустите проект с помощью docker-compose
.```bash
docker-compose up -d
### Доступ
Доступ через браузер: http://localhost:3000/{владелец}/{репозиторий}
- владелец: владелец проекта, может быть имя организации, имя пользователя или название компании
- репозиторий: имя репозитория
Пример: [http://localhost:3000/fujieid/jap](http://localhost:3000/fujieid/jap)
Пример вывода:

## О конфигурационных параметрах
- В проекте используется модель получения токена с использованием пароля, поэтому требуется настроить учетные данные Gitee. Если вы предпочитаете не использовать свои личные учетные данные, вы можете создать отдельный аккаунт на Gitee. При регистрации OAuth-приложения можно указать произвольный обратный адрес; главное — это значения `clientId` и `clientSecret`, полученные после завершения регистрации.
- Для параметра `expire` не рекомендуется использовать слишком низкие значения (по умолчанию 3600 секунд); слишком маленькие значения могут привести к ограничению скорости запросов Gitee. **Помните об этом!** В программе уже установлено ограничение, чтобы значение было не меньше 3600.
- Вы можете указать время жизни кэша конкретного проекта, добавив параметр `e` в конец URL (не менее 3600 с): `http://localhost:3000/{владелец}/{репозиторий}?e=10000`. Этот метод полезен для проектов с большим количеством звезд, так как краткосрочное увеличение числа звезд не оказывает значительного влияния на общую картину. Это позволяет повысить скорость доступа к данным.- Внимание: если данные были ранее получены через URL `http://localhost:3000/{владелец}/{репозиторий}`, то добавление параметра `?e=xx` не сбросит текущее состояние кэширования. Кэш будет действителен в течение часа, и параметр `?e=xx` будет использоваться только после истечения этого времени.
- **Файлы журнала `console-xxx.log` содержат учетные записи и пароли Redis и Gitee!** Не публикуйте эти файлы!
## Особое примечание
Проблема получения данных за более длительное время была решена благодаря поддержке команды Gitee.
## Ссылки
Файлы `index.html` и `style.css` основаны на проекте [caarlos0/starcharts](https://github.com/caarlos0/starcharts).
## Ресурсы
- GraphicsMagick: ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/
## Примеры команд
### Создание образа Docker
```bash
docker build -t justauth/gitee-stargazers:v1.11 .
docker push justauth/gitee-stargazers:v1.11
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )