Быстрый старт
Запустите можно. за 5 минут с помощью Docker Compose.
Шаг 1: Создайте docker-compose.yml
yaml
services:
postgres:
image: postgres:15-alpine
environment:
POSTGRES_DB: feature_flags
POSTGRES_USER: flags_user
POSTGRES_PASSWORD: flags_password
volumes:
- pgdata:/var/lib/postgresql/data
mozhno:
image: ghcr.io/mozhno-dev/mozhno:latest
ports:
- '8080:8080'
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/feature_flags
SPRING_DATASOURCE_USERNAME: flags_user
SPRING_DATASOURCE_PASSWORD: flags_password
JWT_SECRET: change-me-to-a-real-256-bit-secret
depends_on:
- postgres
volumes:
pgdata:Шаг 2: Запустите сервер
bash
docker compose up -dШаг 3: Откройте веб-панель
Перейдите на http://localhost:8080.
Шаг 4: Создайте администратора и проект
При первом запуске откроется мастер настройки (onboarding wizard):
- Создайте администратора — введите email и пароль. Это первая учётная запись с ролью ADMIN.
- Создайте проект — введите название, описание и логотип.
- Создайте первый флаг — введите ключ (например,
new-checkout) и название.
После завершения мастера вы попадёте в панель управления.
Шаг 5: Получите API-ключ
- В веб-панели перейдите в раздел «API-ключи»
- Нажмите «Создать ключ»
- Введите имя (например,
my-app) - Выберите тип SERVER и окружение Production
- Скопируйте значение ключа — оно показывается только один раз
Шаг 6: Добавьте флаг в код
Java
Добавьте зависимость в build.gradle:
groovy
repositories { mavenCentral() }
dependencies { implementation 'dev.mozhno:mozhno-client-java:1.0.1' }java
import dev.mozhno.sdk.*;
var config = MozhnoConfig.builder()
.appName("my-app")
.instanceId("instance-1")
.mozhnoUrl("http://localhost:8080")
.apiKey("your-api-key") // API-ключ из раздела «API-ключи» в панели
.build();
var client = new DefaultMozhnoClient(config);
client.start();
var ctx = MozhnoContext.builder().userId("user-123").build();
boolean isEnabled = client.isEnabled("new-checkout", ctx);
if (isEnabled) {
// новый код
} else {
// старый код
}JavaScript / TypeScript
Установите пакет:
bash
npm install @mozhno/client-jsЧто дальше?
- Установка — ручная установка и продакшен-конфигурация
- Конфигурация — все переменные окружения
- Флаги — подробнее о типах флагов и правилах