Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-2856GitHub issuePublicReceived

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.

Received and recorded verbatim. Nothing has been checked yet.

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

Improve docker daemon.conf defaults to work better for containers using resources over tailscale tunnel on hostrevision 1 · captured 2026-10-04 11:35 UTC via poll

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

  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

# 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:

# 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

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.

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.