fix: emoji to icons

This commit is contained in:
2025-10-09 17:24:27 +02:00
parent ef8c2cfd8c
commit 2f0d37a292
16 changed files with 128 additions and 128 deletions

View File

@@ -29,5 +29,5 @@ h2 > a > span + span {
} }
h3 > a > span + span { h3 > a > span + span {
@apply size-5 align-text-bottom; @apply size-5 align-text-top;
} }

View File

@@ -105,17 +105,17 @@ DB_HOST=news-postgres # Overrides root
### Security ### Security
- Use strong, random passwords - :icon{name="lucide:check"} Use strong, random passwords
- Never commit `.env` files to version control - :icon{name="lucide:check"} Never commit `.env` files to version control
- Use `.env.example` as template - :icon{name="lucide:check"} Use `.env.example` as template
- Rotate secrets regularly - :icon{name="lucide:check"} Rotate secrets regularly
### Organization ### Organization
- Document custom variables - :icon{name="lucide:check"} Document custom variables
- Group related variables - :icon{name="lucide:check"} Group related variables
- Use consistent naming - :icon{name="lucide:check"} Use consistent naming
- Keep defaults in root `.env` - :icon{name="lucide:check"} Keep defaults in root `.env`
## Generating Secrets ## Generating Secrets

View File

@@ -57,7 +57,7 @@ Running in `edge` mode because we're living on the edge (behind Traefik)! This t
| `KC_DB_URL` | JDBC connection string | :icon{name="lucide:plug"} The digital umbilical cord | | `KC_DB_URL` | JDBC connection string | :icon{name="lucide:plug"} The digital umbilical cord |
| `KC_HOSTNAME` | Public-facing URL | :icon{name="lucide:globe"} Your internet identity | | `KC_HOSTNAME` | Public-facing URL | :icon{name="lucide:globe"} Your internet identity |
| `KC_PROXY` | Proxy mode setting | :icon{name="lucide:drama"} Trust the middleman | | `KC_PROXY` | Proxy mode setting | :icon{name="lucide:drama"} Trust the middleman |
| `KC_FEATURES` | Enabled features (docker) | 🐳 Whale hello there! | | `KC_FEATURES` | Enabled features (docker) | Whale hello there! |
## Ports & Networking ## Ports & Networking

View File

@@ -199,7 +199,7 @@ A: Default is `admin`/`changeme` - check if you changed it and forgot!
- :icon{name="lucide:sparkles"} Makes Ansible actually fun to use - :icon{name="lucide:sparkles"} Makes Ansible actually fun to use
- :icon{name="lucide:palette"} Beautiful, modern interface - :icon{name="lucide:palette"} Beautiful, modern interface
- :icon{name="lucide:refresh-cw"} Task history and versioning - :icon{name="lucide:refresh-cw"} Task history and versioning
- 👁️ Real-time execution logs - :icon{name="lucide:eye"} Real-time execution logs
- :icon{name="lucide:target"} RBAC (Role-Based Access Control) - :icon{name="lucide:target"} RBAC (Role-Based Access Control)
- :icon{name="lucide:smile"} Open source and free - :icon{name="lucide:smile"} Open source and free

View File

@@ -222,7 +222,7 @@ The server will automatically use it for missing pages!
- :icon{name="lucide:file-text"} Personal thoughts and experiences - :icon{name="lucide:file-text"} Personal thoughts and experiences
- :icon{name="lucide:wrench"} Project documentation - :icon{name="lucide:wrench"} Project documentation
- :icon{name="lucide:target"} Case studies and success stories - :icon{name="lucide:target"} Case studies and success stories
- 🌟 Whatever makes your heart sing! - :icon{name="lucide:sparkles"} Whatever makes your heart sing!
## Fun Facts ## Fun Facts

View File

@@ -51,8 +51,8 @@ Path: /app/data
This stores: This stores:
- :icon{name="lucide:database"} SQLite database (users, apps, messages) - :icon{name="lucide:database"} SQLite database (users, apps, messages)
- 🖼️ Application images - :icon{name="lucide:image"} Application images
- ⚙️ Server configuration - :icon{name="lucide:cog"} Server configuration
### No Exposed Port ### No Exposed Port
All access goes through Traefik at https://chat.pivoine.art - clean and secure! All access goes through Traefik at https://chat.pivoine.art - clean and secure!
@@ -209,9 +209,9 @@ Download from:
- :icon{name="lucide:phone"} Desktop notifications (browser permission needed) - :icon{name="lucide:phone"} Desktop notifications (browser permission needed)
- :icon{name="lucide:search"} Search through message history - :icon{name="lucide:search"} Search through message history
- 🗑️ Delete individual or all messages - :icon{name="lucide:trash"} Delete individual or all messages
- :icon{name="lucide:users"} Manage applications and clients - :icon{name="lucide:users"} Manage applications and clients
- ⚙️ Configure server settings - :icon{name="lucide:cog"} Configure server settings
- :icon{name="lucide:bar-chart"} View message statistics - :icon{name="lucide:bar-chart"} View message statistics
## Security Best Practices :icon{name="lucide:lock"} ## Security Best Practices :icon{name="lucide:lock"}
@@ -233,9 +233,9 @@ curl -X POST "https://chat.pivoine.art/message" \
-F "title=Deployment Report" \ -F "title=Deployment Report" \
-F "message=## Deploy Status -F "message=## Deploy Status
- Database migration - :icon{name="lucide:check"} Database migration
- Frontend build - :icon{name="lucide:check"} Frontend build
- Backend restart - :icon{name="lucide:check"} Backend restart
- :icon{name="lucide:alert-triangle"} Cache warmup (slower than expected) - :icon{name="lucide:alert-triangle"} Cache warmup (slower than expected)
**Next**: Monitor performance metrics" \ **Next**: Monitor performance metrics" \

View File

@@ -22,8 +22,8 @@ This stack is your personal GitHub - a lightweight, powerful, self-hosted Git se
Gitea packs a serious punch for its size: Gitea packs a serious punch for its size:
- :icon{name="lucide:package"} **Git Hosting**: Unlimited private/public repositories - :icon{name="lucide:package"} **Git Hosting**: Unlimited private/public repositories
- 🔀 **Pull Requests**: Full code review workflow - :icon{name="lucide:shuffle"} **Pull Requests**: Full code review workflow
- 🐛 **Issue Tracking**: Built-in project management - :icon{name="lucide:bug"} **Issue Tracking**: Built-in project management
- :icon{name="lucide:users"} **Organizations & Teams**: Multi-user collaboration - :icon{name="lucide:users"} **Organizations & Teams**: Multi-user collaboration
- :icon{name="lucide:git-branch"} **Webhooks**: CI/CD integration ready - :icon{name="lucide:git-branch"} **Webhooks**: CI/CD integration ready
- :icon{name="lucide:file-text"} **Wiki**: Documentation for your projects - :icon{name="lucide:file-text"} **Wiki**: Documentation for your projects

View File

@@ -52,7 +52,7 @@ The speed demon of data storage! Redis is your in-memory cache:
- `sexy` → Directus cache for faster API responses - `sexy` → Directus cache for faster API responses
- Perfect for session storage, rate limiting, queues - Perfect for session storage, rate limiting, queues
### 🎛️ pgAdmin 4 ### :icon{name="lucide:ethernet-port"} pgAdmin 4
**Container**: `pgadmin4_container` **Container**: `pgadmin4_container`
**Image**: `dpage/pgadmin4` **Image**: `dpage/pgadmin4`

View File

@@ -13,7 +13,7 @@ Dockge (pronounced "dog-ee" 🐕) is a fancy, self-hosted web UI for managing Do
## The Stack Captain ## The Stack Captain
### 🎛️ Dockge ### :icon{name="lucide:ethernet-port"} Dockge
**Container**: `dock_app` **Container**: `dock_app`
**Image**: `louislam/dockge:1` **Image**: `louislam/dockge:1`
@@ -22,7 +22,7 @@ Dockge (pronounced "dog-ee" 🐕) is a fancy, self-hosted web UI for managing Do
Dockge makes Docker Compose management feel like playing with LEGO: Dockge makes Docker Compose management feel like playing with LEGO:
- :icon{name="lucide:clipboard"} **Visual Stack Management**: See all your compose stacks at a glance - :icon{name="lucide:clipboard"} **Visual Stack Management**: See all your compose stacks at a glance
- ✏️ **Built-in Editor**: Edit compose files right in the browser - :icon{name="lucide:pen"} **Built-in Editor**: Edit compose files right in the browser
- :icon{name="lucide:rocket"} **One-Click Deploy**: Start, stop, restart with a button - :icon{name="lucide:rocket"} **One-Click Deploy**: Start, stop, restart with a button
- :icon{name="lucide:bar-chart"} **Real-time Logs**: Watch your containers do their thing - :icon{name="lucide:bar-chart"} **Real-time Logs**: Watch your containers do their thing
- :icon{name="lucide:file-text"} **Compose File Preview**: See what you're deploying before you deploy it - :icon{name="lucide:file-text"} **Compose File Preview**: See what you're deploying before you deploy it
@@ -107,12 +107,12 @@ mkdir -p /root/repos/compose
### Managing Existing Stacks ### Managing Existing Stacks
From the dashboard, you can: From the dashboard, you can:
- ▶️ **Start**: Fire up all containers - :icon{name="lucide:play"} **Start**: Fire up all containers
- ⏸️ **Stop**: Gracefully stop everything - :icon{name="lucide:pause"} **Stop**: Gracefully stop everything
- :icon{name="lucide:refresh-cw"} **Restart**: Quick bounce - :icon{name="lucide:refresh-cw"} **Restart**: Quick bounce
- :icon{name="lucide:file-text"} **Edit**: Change the compose file - :icon{name="lucide:file-text"} **Edit**: Change the compose file
- :icon{name="lucide:wrench"} **Update**: Pull new images and redeploy - :icon{name="lucide:wrench"} **Update**: Pull new images and redeploy
- 🗑️ **Delete**: Remove stack completely - :icon{name="lucide:trash"} **Delete**: Remove stack completely
### Viewing Logs ### Viewing Logs
@@ -314,11 +314,11 @@ services:
## Why Choose Dockge? ## Why Choose Dockge?
- :icon{name="lucide:target"} **Compose-Native**: Built specifically for docker-compose - :icon{name="lucide:target"} **Compose-Native**: Built specifically for docker-compose
- 🪶 **Lightweight**: Tiny footprint, fast UI - :icon{name="lucide:feather"} **Lightweight**: Tiny footprint, fast UI
- :icon{name="lucide:palette"} **Beautiful**: Clean, modern interface - :icon{name="lucide:palette"} **Beautiful**: Clean, modern interface
- :icon{name="lucide:wrench"} **Simple**: Does one thing really well - :icon{name="lucide:wrench"} **Simple**: Does one thing really well
- :icon{name="lucide:smile"} **Free**: Open source, no enterprise upsells - :icon{name="lucide:smile"} **Free**: Open source, no enterprise upsells
- 👨‍:icon{name="lucide:laptop"} **Dev-Friendly**: Doesn't hide the compose file from you - :icon{name="lucide:laptop"} **Dev-Friendly**: Doesn't hide the compose file from you
## Integration Ideas ## Integration Ideas
@@ -353,4 +353,4 @@ Automated backups of your compose files:
--- ---
*"The best UI is the one that gets out of your way and lets you work."* - Dockge Philosophy 🐳:icon{name="lucide:sparkles"} *"The best UI is the one that gets out of your way and lets you work."* - Dockge Philosophy :icon{name="lucide:sparkles"}

View File

@@ -25,14 +25,14 @@ Home Assistant is your smart home's mission control:
- :icon{name="lucide:bot"} **Powerful Automations**: If this, then that (but better!) - :icon{name="lucide:bot"} **Powerful Automations**: If this, then that (but better!)
- :icon{name="lucide:palette"} **Beautiful UI**: Customizable dashboards - :icon{name="lucide:palette"} **Beautiful UI**: Customizable dashboards
- :icon{name="lucide:phone"} **Mobile Apps**: Control from anywhere (iOS & Android) - :icon{name="lucide:phone"} **Mobile Apps**: Control from anywhere (iOS & Android)
- 🗣️ **Voice Control**: Alexa, Google, Siri integration - :icon{name="lucide:megaphone"} **Voice Control**: Alexa, Google, Siri integration
- :icon{name="lucide:lock-keyhole"} **Privacy First**: Your data stays home - :icon{name="lucide:lock-keyhole"} **Privacy First**: Your data stays home
- 🌙 **Energy Monitoring**: Track usage and costs - :icon{name="lucide:eclipse"} **Energy Monitoring**: Track usage and costs
- :icon{name="lucide:bar-chart"} **History & Analytics**: Visualize your home - :icon{name="lucide:bar-chart"} **History & Analytics**: Visualize your home
## Configuration Breakdown ## Configuration Breakdown
### Privileged Mode 🔓 ### Privileged Mode :icon{name="lucide:lock"}
Running in privileged mode to access: Running in privileged mode to access:
- USB devices (Zigbee/Z-Wave sticks) - USB devices (Zigbee/Z-Wave sticks)
@@ -81,7 +81,7 @@ A: Verify timezone is set correctly - this is crucial!
- :icon{name="lucide:lock-keyhole"} **Strong Password**: Your home security depends on it! - :icon{name="lucide:lock-keyhole"} **Strong Password**: Your home security depends on it!
- :icon{name="lucide:globe"} **HTTPS Only**: Traefik provides SSL automatically - :icon{name="lucide:globe"} **HTTPS Only**: Traefik provides SSL automatically
- 👁️ **Two-Factor**: Enable in user profile - :icon{name="lucide:eye"} **Two-Factor**: Enable in user profile
- :icon{name="lucide:key"} **API Tokens**: Use long-lived tokens, not passwords - :icon{name="lucide:key"} **API Tokens**: Use long-lived tokens, not passwords
## Resources ## Resources

View File

@@ -49,29 +49,29 @@ news/
### Campaign Management ### Campaign Management
- :icon{name="lucide:mail"} Create beautiful emails with templates - :icon{name="lucide:mail"} Create beautiful emails with templates
- 📅 Schedule sends for later - :icon{name="lucide:calendar"} Schedule sends for later
- :icon{name="lucide:target"} Segment subscribers by tags/lists - :icon{name="lucide:target"} Segment subscribers by tags/lists
- :icon{name="lucide:file-text"} Preview before sending - :icon{name="lucide:file-text"} Preview before sending
- :icon{name="lucide:refresh-cw"} A/B testing (coming soon™) - :icon{name="lucide:refresh-cw"} A/B testing (coming soon™)
### Subscriber Management ### Subscriber Management
- 📥 Import via CSV - :icon{name="lucide:upload"} Import via CSV
- Double opt-in confirmation - :icon{name="lucide:check"} Double opt-in confirmation
- :icon{name="lucide:tag"} Tag and categorize - :icon{name="lucide:tag"} Tag and categorize
- :icon{name="lucide:bar-chart"} View engagement history - :icon{name="lucide:bar-chart"} View engagement history
- :icon{name="lucide:ban"} Easy unsubscribe management - :icon{name="lucide:ban"} Easy unsubscribe management
### Analytics Dashboard ### Analytics Dashboard
- :icon{name="lucide:trending-up"} Open rates - :icon{name="lucide:trending-up"} Open rates
- 👆 Click-through rates - :icon{name="lucide:mouse-pointer-click"} Click-through rates
- 📉 Unsubscribe rates - :icon{name="lucide:chart"} Unsubscribe rates
- :icon{name="lucide:bar-chart"} Subscriber growth over time - :icon{name="lucide:bar-chart"} Subscriber growth over time
- :icon{name="lucide:target"} Campaign performance - :icon{name="lucide:target"} Campaign performance
### Email Features ### Email Features
- :icon{name="lucide:palette"} Custom HTML templates - :icon{name="lucide:palette"} Custom HTML templates
- :icon{name="lucide:phone"} Mobile-responsive designs - :icon{name="lucide:phone"} Mobile-responsive designs
- 🖼️ Image support - :icon{name="lucide:image"} Image support
- :icon{name="lucide:link"} Link tracking - :icon{name="lucide:link"} Link tracking
- :icon{name="lucide:user"} Personalization ({{name}}, etc.) - :icon{name="lucide:user"} Personalization ({{name}}, etc.)
@@ -236,17 +236,17 @@ The backend runs several automated jobs:
## Privacy & Compliance :icon{name="lucide:lock"} ## Privacy & Compliance :icon{name="lucide:lock"}
### GDPR Compliant ### GDPR Compliant
- Double opt-in - :icon{name="lucide:check"} Double opt-in
- Easy unsubscribe - :icon{name="lucide:check"} Easy unsubscribe
- Data export - :icon{name="lucide:check"} Data export
- Data deletion - :icon{name="lucide:check"} Data deletion
- Consent tracking - :icon{name="lucide:check"} Consent tracking
### CAN-SPAM Compliant ### CAN-SPAM Compliant
- Physical address in footer - :icon{name="lucide:check"} Physical address in footer
- Clear unsubscribe link - :icon{name="lucide:check"} Clear unsubscribe link
- Opt-in records - :icon{name="lucide:check"} Opt-in records
- "From" address accuracy - :icon{name="lucide:check"} "From" address accuracy
## Performance Optimization ## Performance Optimization

View File

@@ -22,9 +22,9 @@ This is your full-stack content management system! A headless CMS (Directus) pai
Directus is the headless CMS that doesn't make you cry: Directus is the headless CMS that doesn't make you cry:
- :icon{name="lucide:bar-chart"} **Database-First**: Works with your existing database - :icon{name="lucide:bar-chart"} **Database-First**: Works with your existing database
- 🎛️ **Admin Panel**: Beautiful UI out of the box - :icon{name="lucide:ethernet-port"} **Admin Panel**: Beautiful UI out of the box
- :icon{name="lucide:plug"} **REST + GraphQL**: Choose your flavor - :icon{name="lucide:plug"} **REST + GraphQL**: Choose your flavor
- 🖼️ **Asset Management**: Images, videos, files - all handled - :icon{name="lucide:image"} **Asset Management**: Images, videos, files - all handled
- :icon{name="lucide:users"} **User Roles**: Granular permissions - :icon{name="lucide:users"} **User Roles**: Granular permissions
- :icon{name="lucide:refresh-cw"} **Real-time**: WebSocket support for live updates - :icon{name="lucide:refresh-cw"} **Real-time**: WebSocket support for live updates
- :icon{name="lucide:palette"} **Customizable**: Extensions, hooks, custom fields - :icon{name="lucide:palette"} **Customizable**: Extensions, hooks, custom fields
@@ -139,7 +139,7 @@ Password: Your ADMIN_PASSWORD
5. **Save and Create Item!** 5. **Save and Create Item!**
## Using the Admin Panel 🎛️ ## Using the Admin Panel :icon{name="lucide:ethernet-port"}
### Content Management ### Content Management
@@ -164,13 +164,13 @@ Password: Your ADMIN_PASSWORD
**Field Types**: **Field Types**:
- :icon{name="lucide:file-text"} Text (String, Text, Markdown) - :icon{name="lucide:file-text"} Text (String, Text, Markdown)
- 🔢 Numbers (Integer, Float, Decimal) -- :icon{name="lucide:arrow-up-0-1"} Numbers (Integer, Float, Decimal)
- 📅 Dates (Date, DateTime, Time) - :icon{name="lucide:calendar"} Dates (Date, DateTime, Time)
- Booleans & Toggles - :icon{name="lucide:check"} Booleans & Toggles
- :icon{name="lucide:palette"} JSON & Code - :icon{name="lucide:palette"} JSON & Code
- :icon{name="lucide:link"} Relations (O2M, M2O, M2M) - :icon{name="lucide:link"} Relations (O2M, M2O, M2M)
- 🖼️ Files & Images - :icon{name="lucide:image"} Files & Images
- 📍 Geolocation -- :icon{name="lucide:map-pin"} Geolocation
## API Usage :icon{name="lucide:plug"} ## API Usage :icon{name="lucide:plug"}

View File

@@ -58,9 +58,9 @@ The coordinator:
**Image**: `signoz/signoz-otel-collector:v0.129.6` **Image**: `signoz/signoz-otel-collector:v0.129.6`
The data pipeline: The data pipeline:
- 📥 **Receives**: Traces, metrics, logs from apps - :icon{name="lucide:download"} **Receives**: Traces, metrics, logs from apps
- :icon{name="lucide:refresh-cw"} **Processes**: Transforms and enriches data - :icon{name="lucide:refresh-cw"} **Processes**: Transforms and enriches data
- 📤 **Exports**: Sends to ClickHouse - :icon{name="lucide:upload"} **Exports**: Sends to ClickHouse
- :icon{name="lucide:target"} **Sampling**: Smart data collection - :icon{name="lucide:target"} **Sampling**: Smart data collection
- :icon{name="lucide:plug"} **Flexible**: Supports many data formats - :icon{name="lucide:plug"} **Flexible**: Supports many data formats
@@ -69,9 +69,9 @@ The data pipeline:
**Containers**: `trace_migrator_sync` & `trace_migrator_async` **Containers**: `trace_migrator_sync` & `trace_migrator_async`
The database janitors: The database janitors:
- 🗂️ **Migrations**: Set up database schema - :icon{name="lucide:folder-input"} **Migrations**: Set up database schema
- :icon{name="lucide:refresh-cw"} **Updates**: Apply schema changes - :icon{name="lucide:refresh-cw"} **Updates**: Apply schema changes
- 🏗️ **Initialization**: Prepare ClickHouse - :icon{name="lucide:square-dashed-mouse-pointer"} **Initialization**: Prepare ClickHouse
## Architecture Overview ## Architecture Overview
@@ -161,11 +161,11 @@ docker compose up -d
``` ```
This starts: This starts:
- ClickHouse (database) - :icon{name="lucide:check"} ClickHouse (database)
- ZooKeeper (coordination) - :icon{name="lucide:check"} ZooKeeper (coordination)
- Schema migrations (database setup) - :icon{name="lucide:check"} Schema migrations (database setup)
- SigNoz (UI and query engine) - :icon{name="lucide:check"} SigNoz (UI and query engine)
- OTel Collector (data collection) - :icon{name="lucide:check"} OTel Collector (data collection)
### 3. Access SigNoz ### 3. Access SigNoz
``` ```
@@ -245,15 +245,15 @@ span.end();
### Services View ### Services View
See all your microservices: See all your microservices:
- :icon{name="lucide:bar-chart"} Request rate - :icon{name="lucide:bar-chart"} Request rate
- ⏱️ Latency (P50, P90, P99) - :icon{name="lucide:timer"} Latency (P50, P90, P99)
- Error rate - :icon{name="lucide:x"} Error rate
- :icon{name="lucide:flame"} Top endpoints - :icon{name="lucide:flame"} Top endpoints
### Traces View ### Traces View
Debug individual requests: Debug individual requests:
- :icon{name="lucide:search"} Search by service, operation, duration - :icon{name="lucide:search"} Search by service, operation, duration
- :icon{name="lucide:trending-up"} Visualize request flow - :icon{name="lucide:trending-up"} Visualize request flow
- ⏱️ See exact timings - :icon{name="lucide:timer"} See exact timings
- 🐛 Find errors with full context - 🐛 Find errors with full context
### Metrics View (Dashboards) ### Metrics View (Dashboards)
@@ -305,8 +305,8 @@ Limit: 10
Auto-generated service map shows: Auto-generated service map shows:
- :icon{name="lucide:link"} Which services call which - :icon{name="lucide:link"} Which services call which
- :icon{name="lucide:bar-chart"} Request volumes - :icon{name="lucide:bar-chart"} Request volumes
- ⏱️ Latencies between services - :icon{name="lucide:timer"} Latencies between services
- Error rates - :icon{name="lucide:x"} Error rates
## Instrumenting Different Languages ## Instrumenting Different Languages

View File

@@ -22,9 +22,9 @@ Umami is your self-hosted, privacy-focused alternative to Google Analytics! It's
Umami is analytics done right: Umami is analytics done right:
- :icon{name="lucide:lock"} **Privacy-First**: No cookies, no tracking pixels, no creepy stuff - :icon{name="lucide:lock"} **Privacy-First**: No cookies, no tracking pixels, no creepy stuff
- 🇪🇺 **GDPR Compliant**: By design, not as an afterthought - :icon{name="lucide:euro"} **GDPR Compliant**: By design, not as an afterthought
- :icon{name="lucide:bar-chart"} **Beautiful Dashboards**: Real-time, clean, insightful - :icon{name="lucide:bar-chart"} **Beautiful Dashboards**: Real-time, clean, insightful
- 🌍 **Multi-Site**: Track unlimited websites - :icon{name="lucide:globe"} **Multi-Site**: Track unlimited websites
- :icon{name="lucide:users"} **Team Features**: Invite team members - :icon{name="lucide:users"} **Team Features**: Invite team members
- :icon{name="lucide:phone"} **Events Tracking**: Custom events and goals - :icon{name="lucide:phone"} **Events Tracking**: Custom events and goals
- :icon{name="lucide:palette"} **Simple Script**: Just one line of JavaScript - :icon{name="lucide:palette"} **Simple Script**: Just one line of JavaScript
@@ -37,18 +37,18 @@ Umami is analytics done right:
- :icon{name="lucide:user"} **Unique Visitors**: Who's new, who's returning - :icon{name="lucide:user"} **Unique Visitors**: Who's new, who's returning
- :icon{name="lucide:globe"} **Referrers**: Where traffic comes from - :icon{name="lucide:globe"} **Referrers**: Where traffic comes from
- :icon{name="lucide:phone"} **Devices**: Desktop vs Mobile vs Tablet - :icon{name="lucide:phone"} **Devices**: Desktop vs Mobile vs Tablet
- 🌍 **Countries**: Geographic distribution - :icon{name="lucide:globe"} **Countries**: Geographic distribution
- :icon{name="lucide:monitor"} **Browsers**: Chrome, Firefox, Safari, etc. - :icon{name="lucide:monitor"} **Browsers**: Chrome, Firefox, Safari, etc.
- :icon{name="lucide:laptop"} **Operating Systems**: Windows, Mac, Linux, etc. - :icon{name="lucide:laptop"} **Operating Systems**: Windows, Mac, Linux, etc.
- :icon{name="lucide:file"} **Pages**: Most popular content - :icon{name="lucide:file"} **Pages**: Most popular content
### Advanced Features ### Advanced Features
- :icon{name="lucide:target"} **Custom Events**: Track buttons, forms, videos - :icon{name="lucide:target"} **Custom Events**: Track buttons, forms, videos
- ⏱️ **Time on Site**: Engagement metrics - :icon{name="lucide:timer"} **Time on Site**: Engagement metrics
- :icon{name="lucide:bar-chart"} **Real-time Data**: Live visitor updates - :icon{name="lucide:bar-chart"} **Real-time Data**: Live visitor updates
- 📅 **Date Ranges**: Custom time periods - :icon{name="lucide:calendar"} **Date Ranges**: Custom time periods
- :icon{name="lucide:search"} **Filters**: Drill down into data - :icon{name="lucide:search"} **Filters**: Drill down into data
- 📤 **Export Data**: CSV downloads - :icon{name="lucide:upload"} **Export Data**: CSV downloads
- :icon{name="lucide:link"} **Share Links**: Public dashboard links - :icon{name="lucide:link"} **Share Links**: Public dashboard links
- :icon{name="lucide:palette"} **Themes**: Light/Dark mode - :icon{name="lucide:palette"} **Themes**: Light/Dark mode
@@ -231,9 +231,9 @@ umami.track('Social Share', {
## Dashboard Features :icon{name="lucide:bar-chart"} ## Dashboard Features :icon{name="lucide:bar-chart"}
### Overview ### Overview
- 👁️ Real-time visitor count - :icon{name="lucide:eye"} Real-time visitor count
- :icon{name="lucide:trending-up"} Views & visitors today - :icon{name="lucide:trending-up"} Views & visitors today
- 🕐 Average time on site - :icon{name="lucide:clock"} Average time on site
- :icon{name="lucide:refresh-cw"} Bounce rate - :icon{name="lucide:refresh-cw"} Bounce rate
### Realtime View ### Realtime View
@@ -244,9 +244,9 @@ Watch visitors as they browse:
- Live count - Live count
### Reports ### Reports
- 📅 Custom date ranges - :icon{name="lucide:calendar"} Custom date ranges
- :icon{name="lucide:bar-chart"} Page comparisons - :icon{name="lucide:bar-chart"} Page comparisons
- 🌍 Geographic heatmaps - :icon{name="lucide:globe"} Geographic heatmaps
- :icon{name="lucide:phone"} Device breakdowns - :icon{name="lucide:phone"} Device breakdowns
- :icon{name="lucide:search"} Referrer analysis - :icon{name="lucide:search"} Referrer analysis
@@ -289,18 +289,18 @@ Anyone with the link can view stats (no login needed)!
## Privacy Features :icon{name="lucide:lock"} ## Privacy Features :icon{name="lucide:lock"}
### What Umami Does NOT Track ### What Umami Does NOT Track
- Personal information - :icon{name="lucide:x"} Personal information
- Cookies (beyond session) - :icon{name="lucide:x"} Cookies (beyond session)
- IP addresses (optional hashing) - :icon{name="lucide:x"} IP addresses (optional hashing)
- Cross-site tracking - :icon{name="lucide:x"} Cross-site tracking
- Fingerprinting - :icon{name="lucide:x"} Fingerprinting
### What Umami DOES Track ### What Umami DOES Track
- Page views (anonymized) - :icon{name="lucide:check"} Page views (anonymized)
- Referrers - :icon{name="lucide:check"} Referrers
- Device types (generic) - :icon{name="lucide:check"} Device types (generic)
- Countries (city-level optional) - :icon{name="lucide:check"} Countries (city-level optional)
- Custom events - :icon{name="lucide:check"} Custom events
### GDPR Compliance ### GDPR Compliance
Umami is GDPR-compliant by default: Umami is GDPR-compliant by default:
@@ -357,9 +357,9 @@ curl -X POST https://umami.pivoine.art/api/send \
Default setup works great! No optimization needed. Default setup works great! No optimization needed.
### For Medium Sites (10k-100k/month) ### For Medium Sites (10k-100k/month)
- Enable database indexes (auto-created) - :icon{name="lucide:check"} Enable database indexes (auto-created)
- Regular database maintenance - :icon{name="lucide:check"} Regular database maintenance
- Monitor disk space - :icon{name="lucide:check"} Monitor disk space
### For Large Sites (100k+/month) ### For Large Sites (100k+/month)
- :icon{name="lucide:rocket"} Increase PostgreSQL memory - :icon{name="lucide:rocket"} Increase PostgreSQL memory
@@ -479,7 +479,7 @@ Install via plugin or add to theme's `header.php`:
- :icon{name="lucide:smile"} **Free**: No limits, no upsells - :icon{name="lucide:smile"} **Free**: No limits, no upsells
- :icon{name="lucide:rocket"} **Fast**: Lightweight script - :icon{name="lucide:rocket"} **Fast**: Lightweight script
- :icon{name="lucide:dumbbell"} **Reliable**: Self-hosted stability - :icon{name="lucide:dumbbell"} **Reliable**: Self-hosted stability
- 🌍 **Ethical**: Do the right thing - :icon{name="lucide:globe"} **Ethical**: Do the right thing
## Advanced Features ## Advanced Features

View File

@@ -22,7 +22,7 @@ Vaultwarden is your self-hosted password manager - a lightweight, Rust-powered a
Vaultwarden is your digital security blanket: Vaultwarden is your digital security blanket:
- :icon{name="lucide:lock-keyhole"} **Password Vault**: Store unlimited passwords - :icon{name="lucide:lock-keyhole"} **Password Vault**: Store unlimited passwords
- 🗂️ **Secure Notes**: Credit cards, identities, documents - :icon{name="lucide:folder-input"} **Secure Notes**: Credit cards, identities, documents
- :icon{name="lucide:refresh-cw"} **Sync Everywhere**: Desktop, mobile, browser extensions - :icon{name="lucide:refresh-cw"} **Sync Everywhere**: Desktop, mobile, browser extensions
- :icon{name="lucide:users"} **Sharing**: Securely share with family/team - :icon{name="lucide:users"} **Sharing**: Securely share with family/team
- :icon{name="lucide:key"} **2FA Support**: TOTP, YubiKey, Duo - :icon{name="lucide:key"} **2FA Support**: TOTP, YubiKey, Duo
@@ -43,20 +43,20 @@ Vaultwarden is your digital security blanket:
Both use the same client apps - just different servers! Both use the same client apps - just different servers!
## Features That Matter 🌟 ## Features That Matter :icon{name="lucide:sparkles"}
### Password Management ### Password Management
- :icon{name="lucide:lock-keyhole"} **Unlimited Passwords**: No caps, no limits - :icon{name="lucide:lock-keyhole"} **Unlimited Passwords**: No caps, no limits
- :icon{name="lucide:search"} **Search**: Find credentials instantly - :icon{name="lucide:search"} **Search**: Find credentials instantly
- :icon{name="lucide:folder"} **Folders**: Organize by category - :icon{name="lucide:folder"} **Folders**: Organize by category
- :icon{name="lucide:tag"} **Tags**: Multiple ways to organize - :icon{name="lucide:tag"} **Tags**: Multiple ways to organize
- **Favorites**: Quick access to common items - :icon{name="lucide:star"} **Favorites**: Quick access to common items
- :icon{name="lucide:file-text"} **Notes**: Attach notes to any item - :icon{name="lucide:file-text"} **Notes**: Attach notes to any item
### Secure Storage Types ### Secure Storage Types
- :icon{name="lucide:key"} **Login**: Username + password combos - :icon{name="lucide:key"} **Login**: Username + password combos
- 💳 **Card**: Credit/debit card info - :icon{name="lucide:credit-card"} **Card**: Credit/debit card info
- 🆔 **Identity**: Personal info, addresses - :icon{name="lucide:id-card"} **Identity**: Personal info, addresses
- :icon{name="lucide:file"} **Secure Note**: Encrypted text - :icon{name="lucide:file"} **Secure Note**: Encrypted text
### Security Features ### Security Features
@@ -207,7 +207,7 @@ Or use keyboard shortcut: `Ctrl+Shift+L`
- Search by name, URL, username, or notes - Search by name, URL, username, or notes
- Filter by type, folder, or favorites - Filter by type, folder, or favorites
## Admin Panel 🎛️ ## Admin Panel :icon{name="lucide:ethernet-port"}
Access at: `https://vault.pivoine.art/admin` Access at: `https://vault.pivoine.art/admin`
@@ -217,9 +217,9 @@ Access at: `https://vault.pivoine.art/admin`
- :icon{name="lucide:users"} View all users - :icon{name="lucide:users"} View all users
- :icon{name="lucide:lock-keyhole"} Disable/delete users - :icon{name="lucide:lock-keyhole"} Disable/delete users
- :icon{name="lucide:mail"} Resend invitations - :icon{name="lucide:mail"} Resend invitations
- 🗑️ Delete accounts - :icon{name="lucide:trash"} Delete accounts
- :icon{name="lucide:bar-chart"} View diagnostics - :icon{name="lucide:bar-chart"} View diagnostics
- ⚙️ Configure settings - :icon{name="lucide:cog"} Configure settings
### Useful Admin Tasks ### Useful Admin Tasks
@@ -257,23 +257,23 @@ Shows config, health checks, versions
## Security Best Practices :icon{name="lucide:shield"} ## Security Best Practices :icon{name="lucide:shield"}
### Master Password ### Master Password
- Use a passphrase: `correct-horse-battery-staple` - :icon{name="lucide:check"} Use a passphrase: `correct-horse-battery-staple`
- At least 14+ characters - :icon{name="lucide:check"} At least 14+ characters
- Unique (not used elsewhere) - :icon{name="lucide:check"} Unique (not used elsewhere)
- Write it down physically - :icon{name="lucide:check"} Write it down physically
- Don't store digitally - :icon{name="lucide:x"} Don't store digitally
- Don't share it - :icon{name="lucide:x"} Don't share it
### Two-Factor Authentication ### Two-Factor Authentication
- Enable 2FA immediately - :icon{name="lucide:check"} Enable 2FA immediately
- Save recovery codes - :icon{name="lucide:check"} Save recovery codes
- Use authenticator app (not SMS) - :icon{name="lucide:check"} Use authenticator app (not SMS)
- Consider hardware key (YubiKey) - :icon{name="lucide:check"} Consider hardware key (YubiKey)
### Vault Hygiene ### Vault Hygiene
- :icon{name="lucide:refresh-cw"} Regular security reports - :icon{name="lucide:refresh-cw"} Regular security reports
- :icon{name="lucide:search"} Update weak passwords - :icon{name="lucide:search"} Update weak passwords
- 🗑️ Remove old accounts - :icon{name="lucide:trash"} Remove old accounts
- :icon{name="lucide:mail"} Use unique emails when possible - :icon{name="lucide:mail"} Use unique emails when possible
- :icon{name="lucide:lock-keyhole"} Never reuse passwords - :icon{name="lucide:lock-keyhole"} Never reuse passwords
@@ -428,11 +428,11 @@ Organize shared items:
## Why Self-Host Your Passwords? ## Why Self-Host Your Passwords?
- :icon{name="lucide:lock"} **Full Control**: Your data, your server - :icon{name="lucide:lock"} **Full Control**: Your data, your server
- 🕵️ **Privacy**: No third-party access - :icon{name="lucide:hat-glasses"} **Privacy**: No third-party access
- :icon{name="lucide:dollar-sign"} **Cost**: Free premium features - :icon{name="lucide:dollar-sign"} **Cost**: Free premium features
- :icon{name="lucide:rocket"} **Performance**: Local network speed - :icon{name="lucide:rocket"} **Performance**: Local network speed
- :icon{name="lucide:shield"} **Security**: You control the security - :icon{name="lucide:shield"} **Security**: You control the security
- 🌍 **Independence**: Not dependent on cloud service - :icon{name="lucide:globe"} **Independence**: Not dependent on cloud service
- :icon{name="lucide:bar-chart"} **Transparency**: Open source, auditable - :icon{name="lucide:bar-chart"} **Transparency**: Open source, auditable
## Resources ## Resources

View File

@@ -27,7 +27,7 @@ WG-Easy makes WireGuard actually easy:
- :icon{name="lucide:zap"} **WireGuard**: Modern, fast, secure protocol - :icon{name="lucide:zap"} **WireGuard**: Modern, fast, secure protocol
- :icon{name="lucide:bar-chart"} **Traffic Stats**: See bandwidth usage - :icon{name="lucide:bar-chart"} **Traffic Stats**: See bandwidth usage
- :icon{name="lucide:lock"} **Encrypted**: Industry-standard crypto - :icon{name="lucide:lock"} **Encrypted**: Industry-standard crypto
- 🌍 **Route All Traffic**: Or split-tunnel - :icon{name="lucide:globe"} **Route All Traffic**: Or split-tunnel
- :icon{name="lucide:rocket"} **Performance**: Faster than OpenVPN - :icon{name="lucide:rocket"} **Performance**: Faster than OpenVPN
## WireGuard: The Modern VPN Protocol ## WireGuard: The Modern VPN Protocol
@@ -37,7 +37,7 @@ WG-Easy makes WireGuard actually easy:
- :icon{name="lucide:lock"} **Secure**: State-of-the-art cryptography - :icon{name="lucide:lock"} **Secure**: State-of-the-art cryptography
- :icon{name="lucide:phone"} **Battery Friendly**: Less power consumption - :icon{name="lucide:phone"} **Battery Friendly**: Less power consumption
- :icon{name="lucide:refresh-cw"} **Roaming**: Seamless connection switching - :icon{name="lucide:refresh-cw"} **Roaming**: Seamless connection switching
- 🐧 **Linux Kernel**: Built into Linux 5.6+ - :icon{name="lucide:sparkles"} **Linux Kernel**: Built into Linux 5.6+
- :icon{name="lucide:target"} **Simple**: Easier to audit and configure - :icon{name="lucide:target"} **Simple**: Easier to audit and configure
## Configuration Breakdown ## Configuration Breakdown
@@ -206,9 +206,9 @@ PersistentKeepalive = 25
### Full Tunnel (All Traffic) ### Full Tunnel (All Traffic)
**Default behavior** - all internet traffic goes through VPN: **Default behavior** - all internet traffic goes through VPN:
- Complete privacy - :icon{name="lucide:check"} Complete privacy
- Bypass geo-blocks - :icon{name="lucide:check"} Bypass geo-blocks
- Secure public WiFi - :icon{name="lucide:check"} Secure public WiFi
- :icon{name="lucide:alert-triangle"} Slightly slower (routing through your server) - :icon{name="lucide:alert-triangle"} Slightly slower (routing through your server)
### Split Tunnel (Selective Routing) ### Split Tunnel (Selective Routing)
@@ -229,9 +229,9 @@ AllowedIPs = 10.0.0.0/24 # Only home network
## Traffic Statistics :icon{name="lucide:bar-chart"} ## Traffic Statistics :icon{name="lucide:bar-chart"}
Web UI shows for each client: Web UI shows for each client:
- 📥 **Download**: Data received - :icon{name="lucide:upload"} **Download**: Data received
- 📤 **Upload**: Data sent - :icon{name="lucide:download"} **Upload**: Data sent
- 🕐 **Last Seen**: When last connected - :icon{name="lucide:clock"} **Last Seen**: When last connected
- :icon{name="lucide:trending-up"} **Charts**: Bandwidth over time - :icon{name="lucide:trending-up"} **Charts**: Bandwidth over time
## Common Use Cases ## Common Use Cases
@@ -248,13 +248,13 @@ You (anywhere) → VPN → Home Network → NAS, Printer, etc.
``` ```
Access devices as if you're home. Access devices as if you're home.
### 3. Bypass Geo-Restrictions 🌍 ### 3. Bypass Geo-Restrictions :icon{name="lucide:globe"}
``` ```
Your Location → VPN (Server Country) → Streaming Service Your Location → VPN (Server Country) → Streaming Service
``` ```
Appear to be in server's location. Appear to be in server's location.
### 4. Privacy from ISP 🕵️ ### 4. Privacy from ISP :icon{name="lucide:hat-glasses"}
``` ```
Your Device → Encrypted Tunnel → Your Server → Internet Your Device → Encrypted Tunnel → Your Server → Internet
``` ```
@@ -478,8 +478,8 @@ docker compose restart
- :icon{name="lucide:lock"} **Full Control**: Your server, your rules - :icon{name="lucide:lock"} **Full Control**: Your server, your rules
- :icon{name="lucide:dollar-sign"} **Cost Effective**: No monthly fees - :icon{name="lucide:dollar-sign"} **Cost Effective**: No monthly fees
- :icon{name="lucide:rocket"} **Performance**: Direct to your server - :icon{name="lucide:rocket"} **Performance**: Direct to your server
- 🕵️ **Privacy**: No third-party logging - :icon{name="lucide:hat-glasses"} **Privacy**: No third-party logging
- 🌍 **Flexibility**: Use any server location - :icon{name="lucide:globe"} **Flexibility**: Use any server location
- :icon{name="lucide:bar-chart"} **Transparency**: You know what's happening - :icon{name="lucide:bar-chart"} **Transparency**: You know what's happening
- :icon{name="lucide:hammer"} **Customization**: Configure exactly as needed - :icon{name="lucide:hammer"} **Customization**: Configure exactly as needed