Port-Strategy für Open Source: 8080 vs. Alternative für bessere Compatibility #81

Closed
opened 2025-06-24 05:09:45 +02:00 by Michael · 1 comment
Michael commented 2025-06-24 05:09:45 +02:00 (Migrated from gitea.dragons-at-work.de)

Problem-Reframe: Open Source vs. Internal Use

Michael's Clarification: Port 8080 ist intern frei, aber problematisch für Open Source-Release

Situation-Analyse

Dragons@Work-Internal (Aktuell):

  • walter: Port 8080 frei und funktional
  • aitvaras: Port 8080 verfügbar
  • Interne Deployments: Kein Konflikt

Open Source-User (Zukünftig):

  • Port 8080: Häufig belegt durch andere Services
  • Tomcat: Standard Alternative-HTTP-Port 8080
  • Jenkins: Default Port 8080
  • Development-Server: Oft HTTP-Alternative auf 8080
  • Container-Umgebungen: 8080 als Standard-Expose-Port
  • Corporate-Policies: Port-Restrictions

Open Source-Port-Conflicts (Real-World)

Häufige 8080-User:

  • Tomcat: Java-Application-Server
  • Jenkins: CI/CD-Platform
  • GitLab: Alternative HTTP-Port
  • Nexus: Artifact-Repository
  • SonarQube: Code-Quality-Platform
  • Various Dev-Servers: Node.js, Python, etc.

Option 1: Higher Default Port

-- config/server.lua
port = tonumber(os.getenv("FURT_PORT")) or 8180  -- Less conflicted

Advantages:

  • Less collision-prone than 8080
  • Still HTTP-alternative range
  • Easy to remember (8080 → 8180)

Option 2: Much Higher Port

port = tonumber(os.getenv("FURT_PORT")) or 9080  -- Even safer

Advantages:

  • Very low collision probability
  • Clear separation from common services
  • Follows high-port convention

Option 3: Randomized High Port

port = tonumber(os.getenv("FURT_PORT")) or 18080  -- Uncommon range

Implementation-Strategy

Phase 1: Internal Transition (Optional)

  • Keep 8080 für walter/aitvaras (works fine)
  • Prepare code for configurable ports

Phase 2: Open Source-Default

  • Change default to 8180 or 9080
  • Update all documentation
  • Add port-selection guidance

Phase 3: Documentation

# docs/installation.md
## Port Selection

Furt defaults to port 8180 to avoid conflicts with common services:
- Tomcat (8080)
- Jenkins (8080)  
- GitLab (8080)
- Development servers

To use a different port:
export FURT_PORT=9080

Open Source-Best-Practices Research

Projects with Good Port-Strategies:

  • Grafana: 3000 (unique range)
  • Prometheus: 9090 (monitoring range)
  • Consul: 8500 (service-discovery range)
  • Vault: 8200 (security-tools range)

Pattern: Successful open source projects avoid 8080!

Priority for Open Source

HIGH - Port conflicts are a major adoption barrier

Implementation Plan

  • Research: Survey 20+ open source projects for port-strategies
  • Decision: Select optimal default port (8180, 9080, or other)
  • Code-Update: Change default in config/server.lua
  • Documentation: Add port-selection guidance
  • Testing: Verify new port works on walter/aitvaras
  • Migration-Guide: For existing installations

Definition of Done

  • Open Source-friendly default port selected
  • All documentation updated
  • Port-selection guidance written
  • Installation conflicts minimized
  • Internal deployments migrated (if needed)

Focus: Open Source-User Experience über Internal Convenience

## Problem-Reframe: Open Source vs. Internal Use **Michael's Clarification:** Port 8080 ist **intern frei**, aber **problematisch für Open Source-Release** ### Situation-Analyse #### **Dragons@Work-Internal (Aktuell):** - ✅ **walter**: Port 8080 frei und funktional - ✅ **aitvaras**: Port 8080 verfügbar - ✅ **Interne Deployments**: Kein Konflikt #### **Open Source-User (Zukünftig):** - ❌ **Port 8080**: Häufig belegt durch andere Services - ❌ **Tomcat**: Standard Alternative-HTTP-Port 8080 - ❌ **Jenkins**: Default Port 8080 - ❌ **Development-Server**: Oft HTTP-Alternative auf 8080 - ❌ **Container-Umgebungen**: 8080 als Standard-Expose-Port - ❌ **Corporate-Policies**: Port-Restrictions ### Open Source-Port-Conflicts (Real-World) **Häufige 8080-User:** - **Tomcat**: Java-Application-Server - **Jenkins**: CI/CD-Platform - **GitLab**: Alternative HTTP-Port - **Nexus**: Artifact-Repository - **SonarQube**: Code-Quality-Platform - **Various Dev-Servers**: Node.js, Python, etc. ### Recommended Open Source-Strategy #### **Option 1: Higher Default Port** ```lua -- config/server.lua port = tonumber(os.getenv("FURT_PORT")) or 8180 -- Less conflicted ``` **Advantages:** - ✅ Less collision-prone than 8080 - ✅ Still HTTP-alternative range - ✅ Easy to remember (8080 → 8180) #### **Option 2: Much Higher Port** ```lua port = tonumber(os.getenv("FURT_PORT")) or 9080 -- Even safer ``` **Advantages:** - ✅ Very low collision probability - ✅ Clear separation from common services - ✅ Follows high-port convention #### **Option 3: Randomized High Port** ```lua port = tonumber(os.getenv("FURT_PORT")) or 18080 -- Uncommon range ``` ### Implementation-Strategy #### **Phase 1: Internal Transition (Optional)** - Keep 8080 für walter/aitvaras (works fine) - Prepare code for configurable ports #### **Phase 2: Open Source-Default** - Change default to 8180 or 9080 - Update all documentation - Add port-selection guidance #### **Phase 3: Documentation** ```markdown # docs/installation.md ## Port Selection Furt defaults to port 8180 to avoid conflicts with common services: - Tomcat (8080) - Jenkins (8080) - GitLab (8080) - Development servers To use a different port: export FURT_PORT=9080 ``` ### Open Source-Best-Practices Research **Projects with Good Port-Strategies:** - **Grafana**: 3000 (unique range) - **Prometheus**: 9090 (monitoring range) - **Consul**: 8500 (service-discovery range) - **Vault**: 8200 (security-tools range) **Pattern:** Successful open source projects avoid 8080! ## Priority for Open Source **HIGH** - Port conflicts are a major adoption barrier ## Implementation Plan - [ ] **Research**: Survey 20+ open source projects for port-strategies - [ ] **Decision**: Select optimal default port (8180, 9080, or other) - [ ] **Code-Update**: Change default in config/server.lua - [ ] **Documentation**: Add port-selection guidance - [ ] **Testing**: Verify new port works on walter/aitvaras - [ ] **Migration-Guide**: For existing installations ## Definition of Done - [ ] Open Source-friendly default port selected - [ ] All documentation updated - [ ] Port-selection guidance written - [ ] Installation conflicts minimized - [ ] Internal deployments migrated (if needed) **Focus: Open Source-User Experience über Internal Convenience**
Owner

RESOLVED: Port-Strategy definiert

Entscheidung: Port-Range 7811-7840 für alle DAW-Services

Dokumentation: Vollständiger Standard erstellt in:
docs/projects/dragons-at-work-de/daw-port-allocation-standard.md

Service-Allocation:

  • furt: 7811 (Gateway)
  • sagjan: 7812 (Comments)
  • lengan: 7813 (Projects)
  • [weitere siehe Dokument]

Next Steps:

  • furt config auf Port 7811 umstellen
  • Deployment-Tests auf walter
  • Documentation-Updates für andere Services

Kollisions-Analyse abgeschlossen - 7811-7840 ist Open Source-sicher.

## ✅ RESOLVED: Port-Strategy definiert **Entscheidung:** Port-Range **7811-7840** für alle DAW-Services **Dokumentation:** Vollständiger Standard erstellt in: `docs/projects/dragons-at-work-de/daw-port-allocation-standard.md` **Service-Allocation:** - furt: 7811 (Gateway) - sagjan: 7812 (Comments) - lengan: 7813 (Projects) - [weitere siehe Dokument] **Next Steps:** - [ ] furt config auf Port 7811 umstellen - [ ] Deployment-Tests auf walter - [ ] Documentation-Updates für andere Services **Kollisions-Analyse abgeschlossen** - 7811-7840 ist Open Source-sicher.
michael 2025-08-15 05:46:07 +02:00
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DAW/furt#81
No description provided.