fix: emoji to icons
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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" \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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"}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user