From fe72d0af8297c88af82984f5246c03fbff3e916e Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 2 Dec 2025 10:45:26 +0100 Subject: [PATCH] :sparkles: Add self-signed cert to caddy (#7872) --- backend/scripts/_env | 1 + docker/devenv/Dockerfile | 2 ++ docker/devenv/docker-compose.yaml | 2 ++ docker/devenv/files/Caddyfile | 31 +++++++++++++++++++++++++++--- docker/devenv/files/init.sh | 6 ++++-- docker/devenv/files/selfsigned.crt | 22 +++++++++++++++++++++ docker/devenv/files/selfsigned.key | 28 +++++++++++++++++++++++++++ 7 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 docker/devenv/files/selfsigned.crt create mode 100644 docker/devenv/files/selfsigned.key diff --git a/backend/scripts/_env b/backend/scripts/_env index 1e4408efe8..f5cca5538b 100644 --- a/backend/scripts/_env +++ b/backend/scripts/_env @@ -3,6 +3,7 @@ export PENPOT_MANAGEMENT_API_KEY=super-secret-management-api-key export PENPOT_SECRET_KEY=super-secret-devenv-key export PENPOT_HOST=devenv +export PENPOT_PUBLIC_URI=https://localhost:3449 export PENPOT_FLAGS="\ $PENPOT_FLAGS \ diff --git a/docker/devenv/Dockerfile b/docker/devenv/Dockerfile index 7055db9fc8..04eb0136ea 100644 --- a/docker/devenv/Dockerfile +++ b/docker/devenv/Dockerfile @@ -395,6 +395,8 @@ COPY files/tmux.conf /root/.tmux.conf COPY files/sudoers /etc/sudoers COPY files/Caddyfile /home/ +COPY files/selfsigned.crt /home/ +COPY files/selfsigned.key /home/ COPY files/start-tmux.sh /home/start-tmux.sh COPY files/start-tmux-back.sh /home/start-tmux-back.sh COPY files/entrypoint.sh /home/entrypoint.sh diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index aab03525bb..3ed5c3cdd7 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -33,6 +33,8 @@ services: - 3447:3447 - 3448:3448 - 3449:3449 + - 3449:3449/udp + - 3450:3450 - 6006:6006 - 6060:6060 - 6061:6061 diff --git a/docker/devenv/files/Caddyfile b/docker/devenv/files/Caddyfile index 19a7ec3835..221c93e349 100644 --- a/docker/devenv/files/Caddyfile +++ b/docker/devenv/files/Caddyfile @@ -1,4 +1,29 @@ +{ + auto_https off +} + localhost:3449 { - tls internal - reverse_proxy localhost:4449 -} \ No newline at end of file + reverse_proxy localhost:4449 + tls /home/selfsigned.crt /home/selfsigned.key + + log { + format console + output file /home/penpot/penpot/logs/caddy.access.log { + roll_size 10MB # Create new file when size exceeds 10MB + roll_keep 5 # Keep at most 5 rolled files + roll_keep_for 14d # Delete files older than 14 days + } + } +} + +http://localhost:3450 { + reverse_proxy localhost:4449 + log { + format console + output file /home/penpot/penpot/logs/caddy.access.log { + roll_size 10MB # Create new file when size exceeds 10MB + roll_keep 5 # Keep at most 5 rolled files + roll_keep_for 14d # Delete files older than 14 days + } + } +} diff --git a/docker/devenv/files/init.sh b/docker/devenv/files/init.sh index d9489d63f4..f4a7af4978 100755 --- a/docker/devenv/files/init.sh +++ b/docker/devenv/files/init.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash set -e -nginx; -caddy run -c /home/Caddyfile; +nginx +mkdir -p penpot/logs +caddy start -c /home/Caddyfile +tail -f /dev/null; diff --git a/docker/devenv/files/selfsigned.crt b/docker/devenv/files/selfsigned.crt new file mode 100644 index 0000000000..75023df03e --- /dev/null +++ b/docker/devenv/files/selfsigned.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIUa3THJQSn1+ErK65g1jDL0tjUkBYwDQYJKoZIhvcNAQEL +BQAwXzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBUxvY2FsMQ4wDAYDVQQHDAVMb2Nh +bDEOMAwGA1UECgwFTG9jYWwxDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxo +b3N0MB4XDTI1MTIwMjA4MjUyM1oXDTI2MTIwMjA4MjUyM1owXzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBUxvY2FsMQ4wDAYDVQQHDAVMb2NhbDEOMAwGA1UECgwFTG9j +YWwxDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyVIlfpIPE+QyL/q7IQOilEA7wEOZ6wbsh2Fr +59H1gSLFvgoCxI6RVUkQ/MFRnw/r1ZbAqRpc2xAl5a9Ml14q20Zlj6dAHsWX6O2J +EwNsD18dQmX3BncnjV3yCZM2iQcMFKuXG4KQNdIQNNvdIgtlrHYp0ohS9s3XC7cj +KxNrm/pW9EAXfn9AYDd/qER090L2E4ipP9m/5l3MjinNc4l2kpH9rLOgb79H0RLt +PK3/KP8ErZhAvzdmDBAdM5Z5K37b+TfB/kSVNUKL6qyw5CCjlShERLhBNprlnRfz +tHNIQ1RHq3qJJN19ZnJrLqICuQ5ztvj7hBDiOSV0LnmyKgXr6wIDAQABo28wbTAd +BgNVHQ4EFgQUPL8WGf6z/wB8TimJBx1zybsIeikwHwYDVR0jBBgwFoAUPL8WGf6z +/wB8TimJBx1zybsIeikwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzARgglsb2Nh +bGhvc3SHBH8AAAEwDQYJKoZIhvcNAQELBQADggEBACMMVyR3kbNxnzuUc2lahKH4 +cPXVWOsvCvnDtjzm41XmKjUJTbtjn3p5d/ZmLbZ4zzIQULfWXO3XG/HevkvVo0g6 +6pJXTXc6C6ZhFG0rIYMcPPzmGmalDV5n+lUaCVx5XbFFxvRQ7893auwhRATdwGs+ +xiMyYbE2w9otKqyDItmJZJ5nW6vmXJ42YHxlXF18u9U88xqtOSMd5xZahbsmw7Gg +A4/o4TPoAX5QfA306sL443WaczsF7bmsTf9qcYa/3xxQkP5Seyqx8ePWpS22qysE +jG6XPpymxb6sb2mVaFBAzhEMb/eBvE9nRAopxmB7uV4TbqC51K/U3uo6jFX4Jbw= +-----END CERTIFICATE----- diff --git a/docker/devenv/files/selfsigned.key b/docker/devenv/files/selfsigned.key new file mode 100644 index 0000000000..f770216185 --- /dev/null +++ b/docker/devenv/files/selfsigned.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDJUiV+kg8T5DIv ++rshA6KUQDvAQ5nrBuyHYWvn0fWBIsW+CgLEjpFVSRD8wVGfD+vVlsCpGlzbECXl +r0yXXirbRmWPp0AexZfo7YkTA2wPXx1CZfcGdyeNXfIJkzaJBwwUq5cbgpA10hA0 +290iC2WsdinSiFL2zdcLtyMrE2ub+lb0QBd+f0BgN3+oRHT3QvYTiKk/2b/mXcyO +Kc1ziXaSkf2ss6Bvv0fREu08rf8o/wStmEC/N2YMEB0zlnkrftv5N8H+RJU1Qovq +rLDkIKOVKEREuEE2muWdF/O0c0hDVEereokk3X1mcmsuogK5DnO2+PuEEOI5JXQu +ebIqBevrAgMBAAECggEABqtE+LNn8nW9v98jcc2IBjc2g4D5yVJaZYWxqGVJJ7T6 +Lfhw7Qf4AoZAHM9en9FMM7Ahw7hO2SboynoLJHyHGOp1FNQqiJptFNdBkjKr0rqI +4pk0HK+3zLQO/4gz50gne0vP3qZtlorV5Jpf8e/Et3jWm9XOQcTB2e6AKL4k827B +dv4Tld+/7PoZVXjahfrUWuIZr5mzyF1eUkD8sPOpdr3HJxSueqsOMjbG8XMRqCQ+ +5eCWWSW5yPQlMr7M7cXM+a0k73Xn1sKl7fP3/9byji25zxGUaMu5RA1kw0Oqseid +RXuRxGphGZgnx1aFxDAPg3FtmGch7/Cc6WfqboOL0QKBgQD4GZO1gGaE8cg4lvuo +ZUX2YJu6UJuNOmuhfvG3ui4WO9PHy3btc2q+3kutSuBcyIjhi+qbXasBcX/QOOJF +udyTZc5PopNkJojS4JdXAZCiu5sKI3lp4DIt9qNISlXGgrJgdxGUO+DzarBctXdn +BSwXFw5hcjJjl7wsPGQl1tBTQwKBgQDPuz5MEM5ZeUe9CT5sQDq/ld0u4aL5AHmx +aaA2gzDgd9l2R5wHX6wLzjoVWXOmeqaYzJopt2JN4iXrtbjWkyePgZeZMyWoyJ/v +clW9bi8HM9f9EpPr7czSj9sLUnsjd9cuTD+JuXK//jRGbRpw7r7nWtLHImjj6d2v +APZRq0v2OQKBgBcESG/OObSbubeGSlKVEqiIzem7ELNJeDLDVCl3XE8zvbILbj0Z +OA39EYhCKg5xjEFgeaNwTS0VGoZ2wIc3dv81sq4wpvvjl035CBFKU+DFBt0p7Vml +MwKQnxVV0B9agLHyWe8mnvf2LeZr72ffUvfRa8QelA4pRYvVDnV0OF+BAoGAW6rM ++tQPuvwB5DFIEozlX9XKHP4E5MyI5vktceDCmMtKcx92gup9CVif2Pv4ROaqzZK8 +FNyPzL6W7UTrpASb2H/fXgNsAudFbGyP2V/d8Ne34D1qeRoe4GwKxRxIqoYftpZ/ +E096i66pcsqCeINiSsWRbb6JesmgwbEzAScOBkECgYEA6O/Dibc9PaqRpaiE6Qut +S3W/Rr1Pd1jbN4rOVI2TFCgMJQmc6jOdq2fCntR9acsa8HPx+djOlXTUBPKBZ/Ae +p8umRdXVWcNMnwWVWHt7tsEuR/gYkxQ5xjXeS1VDPnEre9+EaevMBuVs8HdRsKQO +uzvNGeAFEfqwIqn7CFQ+ndU= +-----END PRIVATE KEY-----