Skip to content

Commit e25d082

Browse files
authored
devops: build custom Caddy with xcaddy (#287)
1 parent 36db494 commit e25d082

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

frontend/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@ COPY frontend/src /frontend/src
1111

1212
RUN npm run build
1313

14-
FROM caddy:2.8.4-alpine
14+
FROM golang:1.24-bookworm as server-builder
1515

16+
RUN go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
17+
18+
RUN xcaddy build --with github.com/mholt/caddy-ratelimit
19+
20+
FROM alpine:3.21
21+
22+
COPY --from=server-builder /go/caddy /usr/bin/caddy
1623
COPY frontend/Caddyfile /etc/caddy/Caddyfile
1724

1825
COPY --from=client-builder /frontend/dist /frontend
26+
27+
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]

frontend/src/examples/javascript/intercept-modify-requests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @ts-check
22
const playwright = require('playwright');
33

4-
const IMAGE_URL = 'https://via.placeholder.com/300x70/e74c3c/2c3e50/?text=Yey%20Playwright!';
4+
const IMAGE_URL = 'https://placehold.co/300x70?text=Yey+Playwright!';
55

66
(async () => {
77
const browser = await playwright.chromium.launch();

frontend/src/examples/javascript/record-video.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const { chromium } = require('playwright');
1515
await page.getByRole('link', { name: 'new', exact: true }).click();
1616
await page.locator('.pagetop > a').first().click();
1717
await page.getByRole('link', { name: 'comments', exact: true }).click();
18-
await page.getByRole('link', { name: 'ask' }).click();
18+
await page.getByRole('link', { name: 'ask', exact: true }).click();
1919
await page.getByRole('link', { name: 'show' }).click();
2020
await page.getByRole('link', { name: 'jobs' }).click();
2121
await page.getByRole('link', { name: 'login' }).click();

0 commit comments

Comments
 (0)