Мы рады приветствовать всех желающих внести свой вклад в проект Plausible. Данное руководство поможет вам настроить среду разработки, найти задачу и открыть запрос на слияние.
Самый простой способ запустить проект — это установить и использовать Docker для запуска как PostgreSQL, так и ClickHouse.
Убедитесь, что на вашей машине установлены Docker, Elixir, Erlang и Node.js. Файл .tool-versions
доступен для использования с помощью asdf или аналогичных инструментов.
make postgres
и make clickhouse
.make install
; альтернативно вы можете выполнить каждую команду отдельно:
mix deps.get
. Это скачает необходимые зависимости Elixir.mix ecto.create
. Это создаст необходимые базы данных в PostgreSQL и ClickHouse.mix ecto.migrate
для создания схемы базы данных.mix run priv/repo/seeds.exs
для заполнения базы данных. Подробнее см. раздел Заполнение базы данных.npm ci --prefix assets
для установки необходимых клиентских зависимостей.npm ci --prefix tracker
для установки необходимых зависимостей трекера.mix assets.setup
для установки Tailwind и Esbuild.npm run deploy --prefix tracker
для генерации файлов трекера в директории priv/tracker/js
.mix download_country_database
для получения базы данных геолокации.make server
или mix phx.server
для запуска сервера Phoenix.localhost:8000
.Вы можете автоматически заполнить базу данных для создания аккаунта и сайта со статистикой:
mix run priv/repo/seeds.exs
для заполнения базы данных.make server
и перейдите по адресу http://localhost:8000/login
.user@plausible.test
и plausible
.dummy.site
с сгенерированной статистикой.Альтернативно, вы можете вручную создать новый аккаунт:
http://localhost:8000/register
и заполните форму.dummy.site
.mix send_pageview
в терминале для генерации события просмотра страницы для тестового сайта.make postgres-stop
.make clickhouse-stop
.Объёмы сохранены. Вы заметите, что состояние PostgreSQL и ClickHouse сохранено при повторном запуске: нет необходимости заново регистрироваться и так далее.
Примечание: Поскольку мы удаляем контейнеры, будьте внимательны при удалении объёмов с помощью команды docker volume prune
. Вы можете случайно удалить базу данных и вам придётся заново проходить процесс регистрации.
pre-commit
требует наличия локально установленного Python и покрывает Elixir, JavaScript и CSS. Установите его с помощью команды pip install --user pre-commit
, затем выполните pre-commit install
. Альтернативно, если эти запросы слишком мешают, вы можете удалить его с помощью команды pre-commit uninstall
.
Ошибки можно найти в нашем трекере задач. Задачи обычно доступны для взятия.
Новые возможности должны быть обсуждены с основной командой и сообществом. Если вы работаете над новой возможностью, пожалуйста, убедитесь, что она уже была обсуждена в разделе Дискуссий. Мы просим участников использовать раздел комментариев для предложения решения до того, как откроют запрос на слияние.
Запросы на слияние без связанного вопроса или обсуждения могут быть всё равно слиты, но мы сосредоточимся на изменениях, которые уже были обсуждены.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )