Failed to authenticate. API Error: 401 Invalid authentication credentials
[2026-05-20] vault sync
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
---
|
||||
created: '2026-05-20'
|
||||
updated: '2026-05-20'
|
||||
tags:
|
||||
- project
|
||||
- landing
|
||||
- marketing
|
||||
- nolvu
|
||||
status: live
|
||||
---
|
||||
# Nolvu Landing Page
|
||||
|
||||
> Waitlist лендинг для AI-приложения рефлексии (Nolvu).
|
||||
> Связанные: [[overview]], [[marketing-strategy]], [[marketing-hooks]]
|
||||
|
||||
---
|
||||
|
||||
## Текущий статус
|
||||
|
||||
**URL:** https://nolvu.qentra.top
|
||||
**Репо:** https://git.mallexxx.duckdns.org/git_admin/nolvu-landing
|
||||
**Локально:** `~/Developer/nolvu-landing/`
|
||||
|
||||
| Компонент | Статус |
|
||||
|---|---|
|
||||
| Лендинг (HTML) | ✅ Live |
|
||||
| HTTPS (CF Origin Cert + Full Strict) | ✅ Работает |
|
||||
| Email waitlist форма | ✅ Работает |
|
||||
| Подписчики | `/var/www/nolvu/subscribers.txt` на VPS |
|
||||
| Email-уведомления (Gmail) | ⏳ Нужен App Password |
|
||||
| Gitea репо | ✅ `git_admin/nolvu-landing` |
|
||||
|
||||
---
|
||||
|
||||
## Инфраструктура
|
||||
|
||||
**VPS:** `91.207.28.205` (nginx 1.22.1)
|
||||
- `/var/www/nolvu/` — статика
|
||||
- systemd: `nolvu-subscribe.service` → Python HTTP сервер на порту 8765
|
||||
- nginx: `/etc/nginx/sites-available/nolvu`
|
||||
- SSL: CF Origin Certificate (`/etc/ssl/nolvu-origin.pem`)
|
||||
|
||||
**Cloudflare:** qentra.top → Proxied, SSL mode = Full (strict)
|
||||
|
||||
---
|
||||
|
||||
## Деплой изменений
|
||||
|
||||
```bash
|
||||
# Локально
|
||||
cd ~/Developer/nolvu-landing
|
||||
# ... правки ...
|
||||
git add -A && git commit -m "описание" && git push
|
||||
|
||||
# На VPS
|
||||
scp index.html root@91.207.28.205:/var/www/nolvu/index.html
|
||||
# subscribe.py после правок:
|
||||
scp subscribe.py root@91.207.28.205:/var/www/nolvu/subscribe.py
|
||||
ssh root@91.207.28.205 'systemctl restart nolvu-subscribe'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Email-уведомления (настроить)
|
||||
|
||||
В `/etc/systemd/system/nolvu-subscribe.service` прописать Gmail App Password:
|
||||
```
|
||||
Environment=GMAIL_USER=mallexxx@gmail.com
|
||||
Environment=GMAIL_PASS=<16-char app password>
|
||||
```
|
||||
Затем: `systemctl daemon-reload && systemctl restart nolvu-subscribe`
|
||||
|
||||
Получить App Password: myaccount.google.com → Security → 2FA → App passwords
|
||||
|
||||
---
|
||||
|
||||
## Бэклог улучшений
|
||||
|
||||
### 🔴 Срочно
|
||||
- [ ] Gmail App Password → уведомления на mallexxx@gmail.com
|
||||
|
||||
### 🟠 Следующее
|
||||
- [ ] **Rotating диалоги** — несколько пар вопрос/ответ с анимированной сменой каждые ~5 сек
|
||||
- Источники для подбора: тред `personal/Психолог` в Zulip + `marketing-hooks.md`
|
||||
- Принцип: не личное, но узнаваемое. «У меня всё замечательно! Помогите.»-тон
|
||||
- Примерно 5–7 кейсов: усталость, петли, ADHD, откладывание, отношения
|
||||
- [ ] Добавить раздел «Что это» — 3 коротких тезиса (не AI-психолог, а зеркало)
|
||||
- [ ] Нейминг: проверить nolvu.ai → зарегистрировать когда решим
|
||||
|
||||
### 🟡 Позже
|
||||
- [ ] OG-теги для расшаривания в соцсетях
|
||||
- [ ] Счётчик подписчиков (публичный) для social proof
|
||||
- [ ] Переехать на nolvu.ai когда домен будет куплен
|
||||
Reference in New Issue
Block a user