Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Improve docker daemon.conf defaults to work better for containers using resources over tailscale tunnel on host
Reported by cyppe · filed Sep 12, 2025Closed upstream on 2026-02-01 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
What do you need?
Docker MTU Optimization for Tailscale Networks
Problem Statement
The current Docker configuration in install/config/docker.sh works well for standard networks, but causes significant performance issues when using Tailscale VPN (which Omarchy promotes as the default VPN solution).
Root Cause
- Tailscale MTU: 1280 bytes (due to WireGuard overhead)
- Docker default MTU: 1500 bytes
- Result: Packet fragmentation causing 2-3x slower performance
Current vs Proposed Configuration
Current Configuration
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16"
}Proposed Configuration
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16",
"mtu": 1280,
"default-network-opts": {
"bridge": {
"com.docker.network.driver.mtu": "1280"
}
}
}Why This Change Matters
Performance Impact
- Before: Docker containers 2-3x slower over Tailscale
- After: Docker containers equal to host performance
- Improvement: 50-200% performance gain for Tailscale connections
Technical Details
- `"mtu": 1280`: Sets MTU for default Docker bridge network
- `"default-network-opts"`: Applies MTU 1280 to ALL Docker networks (including docker-compose)
- This feature was added in Docker 23.0+ (March 2023)
- Solves the limitation where daemon MTU only applied to default bridge
Compatibility
- Docker Version: Requires Docker 23.0+ (released March 2023)
- Backward Compatibility: Gracefully ignored by older Docker versions
- Network Impact: No impact on non-Tailscale networks (1280 MTU works fine everywhere)
- VPN Compatibility: Benefits any VPN with MTU < 1500 (common with WireGuard-based VPNs)
Real-World Testing Results
Tested with:
- Environment: Arch Linux + Docker + DDEV + Tailscale
- Workload: Database connections, web requests, file transfers
- Result: All containers achieved MTU 1280, eliminating packet fragmentation
# Verification command
for container in $(docker ps --format "{{.Names}}"); do
echo -n "$container: ";
docker exec $container cat /sys/class/net/eth0/mtu 2>/dev/null || echo "N/A";
doneImplementation
The change is minimal and safe:
# In install/config/docker.sh, update the daemon.json section:
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16",
"mtu": 1280,
"default-network-opts": {
"bridge": {
"com.docker.network.driver.mtu": "1280"
}
}
}
EOFReferences
- Docker Feature: Moby PR #43197 - Official Docker feature for default network options
- Tailscale MTU: Tailscale Documentation - MTU considerations
- Docker Documentation: Docker daemon configuration
Benefits for Omarchy Users
- Seamless Tailscale Experience: No performance degradation when using Docker over Tailscale
- Zero Configuration: Works automatically for all Docker networks and docker-compose projects
- Future-Proof: Uses official Docker features instead of manual workarounds
- Broad Compatibility: Benefits any VPN setup with reduced MTU
Since Omarchy promotes Tailscale as the default VPN solution, this optimization would significantly improve the out-of-box experience for users running containerized workloads over Tailscale networks.
View raw text
### What do you need?
# Docker MTU Optimization for Tailscale Networks
## Problem Statement
The current Docker configuration in `install/config/docker.sh` works well for standard networks, but causes significant performance issues when using **Tailscale VPN** (which Omarchy promotes as the default VPN solution).
### Root Cause
- **Tailscale MTU**: 1280 bytes (due to WireGuard overhead)
- **Docker default MTU**: 1500 bytes
- **Result**: Packet fragmentation causing 2-3x slower performance
## Current vs Proposed Configuration
### Current Configuration
```json
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16"
}
```
### Proposed Configuration
```json
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16",
"mtu": 1280,
"default-network-opts": {
"bridge": {
"com.docker.network.driver.mtu": "1280"
}
}
}
```
## Why This Change Matters
### Performance Impact
- **Before**: Docker containers 2-3x slower over Tailscale
- **After**: Docker containers equal to host performance
- **Improvement**: 50-200% performance gain for Tailscale connections
### Technical Details
1. **`"mtu": 1280`**: Sets MTU for default Docker bridge network
2. **`"default-network-opts"`**: Applies MTU 1280 to ALL Docker networks (including docker-compose)
- This feature was added in Docker 23.0+ (March 2023)
- Solves the limitation where daemon MTU only applied to default bridge
### Compatibility
- **Docker Version**: Requires Docker 23.0+ (released March 2023)
- **Backward Compatibility**: Gracefully ignored by older Docker versions
- **Network Impact**: No impact on non-Tailscale networks (1280 MTU works fine everywhere)
- **VPN Compatibility**: Benefits any VPN with MTU < 1500 (common with WireGuard-based VPNs)
## Real-World Testing Results
Tested with:
- **Environment**: Arch Linux + Docker + DDEV + Tailscale
- **Workload**: Database connections, web requests, file transfers
- **Result**: All containers achieved MTU 1280, eliminating packet fragmentation
```bash
# Verification command
for container in $(docker ps --format "{{.Names}}"); do
echo -n "$container: ";
docker exec $container cat /sys/class/net/eth0/mtu 2>/dev/null || echo "N/A";
done
```
## Implementation
The change is minimal and safe:
```bash
# In install/config/docker.sh, update the daemon.json section:
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16",
"mtu": 1280,
"default-network-opts": {
"bridge": {
"com.docker.network.driver.mtu": "1280"
}
}
}
EOF
```
## References
- **Docker Feature**: [Moby PR #43197](https://github.com/moby/moby/pull/43197) - Official Docker feature for default network options
- **Tailscale MTU**: [Tailscale Documentation](https://tailscale.com/kb/1019/subnets/#mtu-discovery-issues) - MTU considerations
- **Docker Documentation**: [Docker daemon configuration](https://docs.docker.com/reference/cli/dockerd/#default-network-options)
## Benefits for Omarchy Users
1. **Seamless Tailscale Experience**: No performance degradation when using Docker over Tailscale
2. **Zero Configuration**: Works automatically for all Docker networks and docker-compose projects
3. **Future-Proof**: Uses official Docker features instead of manual workarounds
4. **Broad Compatibility**: Benefits any VPN setup with reduced MTU
Since Omarchy promotes Tailscale as the default VPN solution, this optimization would significantly improve the out-of-box experience for users running containerized workloads over Tailscale networks.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.