Skip to content

Wip traefik switch - #9

Draft
Ourouk wants to merge 4 commits into
mainfrom
wip-traefik-switch
Draft

Wip traefik switch#9
Ourouk wants to merge 4 commits into
mainfrom
wip-traefik-switch

Conversation

@Ourouk

@Ourouk Ourouk commented Jul 28, 2026

Copy link
Copy Markdown
Member

No description provided.

@Ourouk

Ourouk commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

Still need testing

@Ourouk
Ourouk requested a review from Copilot July 28, 2026 08:56
@Ourouk
Ourouk marked this pull request as draft July 28, 2026 08:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR transitions the stack’s web entrypoint from an NGINX+Certbot setup to Traefik (with ACME/Let’s Encrypt) and expands the backup workflow to upload database dumps to an S3-compatible store via rclone, updating the stop/restart automation and documentation accordingly.

Changes:

  • Replace the reverse-proxy (NGINX) setup with a traefik service and per-service Traefik router labels in docker-compose.yml.
  • Update backup behavior to (a) fail the stop/restart flow on dump/upload failure and (b) upload/verify backups to external S3-compatible storage.
  • Update .env.example, .gitignore, and README backup/docs to reflect the new backup workflow and proxy changes.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
README.md Updates backup documentation and profiles table to describe S3 upload/verification flow.
docker-stack.sh Changes backup automation to fail fast on dump failure and run backup-upload after successful dumps.
docker-stack.bat Mirrors the new backup flow on Windows (but currently doesn’t block shutdown on backup failure).
docker-compose/traefik/letsencrypt/acme.json Adds an ACME storage file placeholder for Traefik (currently tracked in git).
docker-compose/traefik/dynamic/conf.yml Adds Traefik dynamic config middleware for security headers.
docker-compose/nginx/conf.d/proxy-common-headers.conf Removes NGINX proxy header include (NGINX decommissioned).
docker-compose/nginx/conf-template.d/default-https.template.conf Removes NGINX HTTPS template (Traefik replaces NGINX).
docker-compose/nginx/conf-template.d/default-http.template.conf Removes NGINX HTTP template (Traefik replaces NGINX).
docker-compose/nginx/certbot.ini Removes Certbot config (Traefik ACME replaces Certbot).
docker-compose/docker-compose.yml Introduces Traefik service + router labels, hardens dump creation, and adds backup-upload service using rclone.
docker-compose/.env.example Adds BACKUP_S3_* configuration for external backup storage; removes old NGINX upstream/HTTPS settings.
.gitignore Adds ignoring of docker-compose/.env (and should also ignore Traefik ACME storage).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker-stack.bat
Comment on lines 117 to 121
:stop_stack
echo Running backups before stopping...
call :do_backup
%DOCKER_COMPOSE_CMD% -f "%COMPOSE_FILE%" --profile init --profile backend --profile frontend down
exit /b %errorlevel%
Comment thread README.md
Comment on lines 56 to +59
| `frontend` | reverse-proxy, crm-frontend | Web serving layer |
| `init` | keycloak-config, swagger-doc-gen, generation-doc-gen, simulation-doc-gen, news-board-doc-gen, billing-doc-gen, krakend-config, crm-frontend-config | One-shot config generators |
| `migration` | optimce-migrator | One-shot CRM schema migrations |
| `backup` | crm-database-backup, keycloak-db-backup, allocation-key-db-backup, simulation-key-db-backup, news-board-db-backup, billing-db-backup | Database backup services |
| `backup` | database backup services, backup-upload | Database dumps and S3-compatible backup upload |
Comment on lines 862 to +865
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/certs:/etc/nginx/certs
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik/letsencrypt:/letsencrypt
- ./traefik/dynamic:/etc/traefik/dynamic:ro
@@ -0,0 +1 @@
{} No newline at end of file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants