Commit Graph

36 Commits

Author SHA1 Message Date
06bad20123 fix: Explicitly exclude ACME challenge path from HTTPS redirect
- Add explicit exclusion of /.well-known/acme-challenge from catch-all redirect
- Ensures ACME challenges are never redirected to HTTPS
- Traefik handles ACME challenges automatically, but explicit exclusion is safer
2025-11-08 18:46:27 +01:00
3d233e8b2c fix: Remove redundant ACME challenge router in Traefik configuration
- Remove explicit ACME challenge router that had no service defined
- Traefik handles ACME challenges automatically when httpChallenge.entryPoint is set
- The router was interfering with automatic challenge handling
- Fixes 'Cannot retrieve the ACME challenge' errors in Traefik logs
2025-11-08 18:46:01 +01:00
9e77ac3b42 feat(traefik): Add Gitea service definition for Traefik
- Add gitea-service.yml with proper timeout configuration
- Service definition required for Traefik to route to Gitea
- Replaces old gitea.yml file that was removed
2025-11-07 23:24:20 +01:00
e8a26d7807 test: CI/CD pipeline staging test - Redis aktiviert, Bad Gateway dokumentiert 2025-11-07 20:54:44 +01:00
c088d08639 test: CI/CD pipeline staging test - Repository Setup automatisiert 2025-11-07 20:17:35 +01:00
cf903f2582 fix(traefik): update local dev ports and gitea SSH IP
- Change Traefik local HTTP port from 8080 to 8081 (conflict with cadvisor)
- Change Traefik dashboard port to 8093 (conflicts with cadvisor, Hyperion)
- Update Gitea SSH service IP from 172.23.0.2 to 172.23.0.3
- Note: Gitea SSH works directly via Docker port mapping in local dev
- Traefik TCP routing only needed for production (host network mode)
2025-11-05 14:51:37 +01:00
95147ff23e refactor(deployment): Remove WireGuard VPN dependency and restore public service access
Remove WireGuard integration from production deployment to simplify infrastructure:
- Remove docker-compose-direct-access.yml (VPN-bound services)
- Remove VPN-only middlewares from Grafana, Prometheus, Portainer
- Remove WireGuard middleware definitions from Traefik
- Remove WireGuard IPs (10.8.0.0/24) from Traefik forwarded headers

All monitoring services now publicly accessible via subdomains:
- grafana.michaelschiemer.de (with Grafana native auth)
- prometheus.michaelschiemer.de (with Basic Auth)
- portainer.michaelschiemer.de (with Portainer native auth)

All services use Let's Encrypt SSL certificates via Traefik.
2025-11-05 12:48:25 +01:00
7c52065aae feat(traefik): add TCP routing for Gitea SSH port 2222
- Add TCP entrypoint 'gitea-ssh' on port 2222 in static config
- Create TCP router configuration for routing SSH traffic to Gitea
- Use Gitea container IP (172.23.0.2) since Traefik runs in host network mode
- Routes git.michaelschiemer.de:2222 through Traefik instead of direct VPN access
2025-11-05 12:12:42 +01:00
aeeed293af feat(monitoring): Add direct VPN access configuration
- Add docker-compose-direct-access.yml for VPN-only admin access
- Configure Portainer on port 9002 (avoid MinIO conflict)
- Add grafana.ini to disable external plugin update checks
- Bind services to 10.8.0.1 (WireGuard VPN gateway)

This configuration enables direct access to admin services via WireGuard VPN
while removing Traefik routing overhead. Services are bound exclusively to
the VPN gateway IP to prevent public access.
2025-11-05 04:42:17 +01:00
7a2cb0b63e fix: staging deployment configuration and redis secrets handling 2025-11-03 00:15:43 +01:00
77c656af62 feat(deployment): update Semaphore stack and Traefik configuration
- Add QUICKSTART.md and SETUP_REPOSITORY.md for Semaphore stack
- Add playbooks directory for Semaphore deployment
- Update Semaphore docker-compose.yml, env.example, and README
- Add Traefik local configuration files
- Disable semaphore.yml in Traefik dynamic config
- Update docker-compose.local.yml and build-image workflow
2025-11-02 22:55:51 +01:00
6b633996a1 chore: remove acme.json from repository and add to .gitignore 2025-11-02 20:55:33 +01:00
516b7a847a feat(deployment): add manual deploy workflow and update semaphore configuration 2025-11-02 20:53:10 +01:00
a5cd49bde7 feat(deployment): update semaphore configuration and deployment workflows 2025-11-02 20:46:18 +01:00
24cbbccf4c feat: update deployment configuration and encrypted env loader
- Update Ansible playbooks and roles for application deployment
- Add new Gitea/Traefik troubleshooting playbooks
- Update Docker Compose configurations (base, local, staging, production)
- Enhance EncryptedEnvLoader with improved error handling
- Add deployment scripts (autossh setup, migration, secret testing)
- Update CI/CD workflows and documentation
- Add Semaphore stack configuration
2025-11-02 20:38:06 +01:00
7b7f0b41d2 chore: update VPN routing configuration and add Grafana VPN documentation 2025-11-02 18:10:04 +01:00
8344032fb6 feat: add Redis connection diagnostics, VPN routing fixes, and Traefik middleware updates 2025-11-02 15:58:30 +01:00
edcf509a4f feat: add PHP ini management system and update infrastructure configs
- Add PHP ini management classes (Access, IniDirective, IniKey, PhpIni)
- Update deployment configurations (Wireguard, Traefik, Monitoring)
- Add DNS stack and Ansible role
- Add deployment debugging playbooks
- Update framework components (FilePath, RedisConnectionPool)
- Update .gitignore and documentation
2025-11-02 15:29:41 +01:00
e598309c48 feat: improve WireGuard client management and framework initialization
- Improve WireGuard client IP calculation logic (find next available IP)
- Add local wireguard-clients directory for storing client configs
- Integrate Redis pool into CacheInitializer
- Improve ContainerBootstrapper with better imports and Redis pool
- Add monitoring role tags for better task organization
- Update WireGuard documentation
- Store generated WireGuard client configs locally
2025-11-02 03:29:23 +01:00
2defdf2baf chore: update staging branch with current changes 2025-11-02 00:05:26 +01:00
8381651876 fix: Korrigiere Nginx PHP-FPM Upstream-Konfiguration für Staging
- Fix upstream configuration in staging-nginx container
- Verbessere sed-Befehle zur automatischen Korrektur der PHP-FPM Upstream-Definition
- Behebt 502 Bad Gateway Fehler durch korrekte Verbindung zu staging-app:9000
2025-11-01 20:43:42 +01:00
2d99a23286 feat: add system maintenance automation 2025-11-01 19:56:42 +01:00
b76064d94a fix: stabilise staging sync 2025-11-01 19:42:27 +01:00
5a79646daf chore: sync staging workspace 2025-11-01 19:02:09 +01:00
46f17c5164 fix: staging-app should only run PHP-FPM (not nginx) + fix git ownership warnings 2025-11-01 16:03:22 +01:00
8c7bbec8b7 fix: Correct staging-internal network configuration
Remove external: false and name specification to let Docker Compose
create the network automatically
2025-10-31 23:58:14 +01:00
77b2dc5dd7 feat: Add staging environment setup
- Create staging stack with separate containers and volumes
- Configure staging.michaelschiemer.de subdomain routing
- Add deploy-staging.yml workflow for auto-deployment
- Extend build-image.yml to support staging branch
- Separate Redis instance and network for staging
- Staging uses staging branch by default

Features:
- Auto-deploy: Push to staging branch → build → deploy to staging
- Separate from production: Different containers, volumes, networks
- Shared Traefik: Uses same SSL certificates (*.michaelschiemer.de)
- Testing environment before production deployment
2025-10-31 23:52:30 +01:00
dd5c1687e3 fix: Update nginx upstream name from php-fpm to php-upstream
Ensure consistency with nginx base image configuration
2025-10-31 23:38:13 +01:00
01fcd690e2 feat: Shared code volume for nginx and app containers
- Add app-code volume to both nginx and app containers
- App container clones code once into shared volume
- Nginx container uses shared volume (read-only) and waits for code
- Update entrypoint.sh to handle storage-preserving git clone
- Fix nginx configuration to use app:9000 for PHP-FPM

This eliminates duplicate code cloning and ensures both containers
always use the same code version from the shared volume.
2025-10-31 23:37:29 +01:00
16d586ecdf chore: Update deployment configuration and documentation
- Update Gitea configuration (remove DEFAULT_ACTIONS_URL)
- Fix deployment documentation
- Update Ansible playbooks
- Clean up deprecated files
- Add new deployment scripts and templates
2025-10-31 21:11:11 +01:00
6e60584848 Update docker-compose.yml comment - trigger CI/CD 2025-10-31 14:43:47 +01:00
c087d372c2 Update Docker Registry URLs to HTTPS endpoint (registry.michaelschiemer.de)
- Replace git.michaelschiemer.de:5000 (HTTP) with registry.michaelschiemer.de (HTTPS)
- Update all Ansible playbooks and configuration files
- Update CI/CD workflows to use HTTPS registry endpoint
- Update Docker Compose files with new registry URL
- Update documentation and scripts

Benefits:
- Secure HTTPS connection (no insecure registry config needed)
- Consistent use of HTTPS endpoint via Traefik
- Better security practices for production deployment
2025-10-31 14:35:39 +01:00
6deca7838e chore: remove test trigger file 2025-10-31 04:14:18 +01:00
e5862cebd6 chore: update Gitea to version 1.25 2025-10-31 03:08:36 +01:00
e26eb2aa12 feat: CI/CD pipeline setup complete - Ansible playbooks updated, secrets configured, workflow ready 2025-10-31 01:39:24 +01:00
38baaca06b chore(gitea): switch stack to Postgres and secure Redis defaults
- Replace MySQL with Postgres service inside gitea stack
- Update Gitea DB env to postgres and add safe defaults
- Fix Redis requirepass by providing default password; wire URLs
- Remove orphan mysql container during redeploy
2025-10-30 22:21:24 +01:00