|
194 | 194 | </a> |
195 | 195 | </li> |
196 | 196 | <li class="md-nav__item"> |
197 | | -<a class="md-nav__link" href="#1-adjust-the-application"> |
| 197 | +<a class="md-nav__link" href="#1-create-a-new-proxy-project"> |
198 | 198 | <span class="md-ellipsis"> |
199 | | - 1. Adjust the Application |
| 199 | + 1. Create a new proxy project |
200 | 200 | </span> |
201 | 201 | </a> |
202 | 202 | </li> |
203 | 203 | <li class="md-nav__item"> |
204 | | -<a class="md-nav__link" href="#2-start-a-new-proxy-project"> |
| 204 | +<a class="md-nav__link" href="#2-adjust-the-application"> |
205 | 205 | <span class="md-ellipsis"> |
206 | | - 2. Start a new proxy project |
207 | | - </span> |
208 | | -</a> |
209 | | -</li> |
210 | | -<li class="md-nav__item"> |
211 | | -<a class="md-nav__link" href="#start-the-services"> |
212 | | -<span class="md-ellipsis"> |
213 | | - Start the services |
| 206 | + 2. Adjust the Application |
214 | 207 | </span> |
215 | 208 | </a> |
216 | 209 | </li> |
|
278 | 271 | </a> |
279 | 272 | </li> |
280 | 273 | <li class="md-nav__item"> |
281 | | -<a class="md-nav__link" href="#1-adjust-the-application"> |
282 | | -<span class="md-ellipsis"> |
283 | | - 1. Adjust the Application |
284 | | - </span> |
285 | | -</a> |
286 | | -</li> |
287 | | -<li class="md-nav__item"> |
288 | | -<a class="md-nav__link" href="#2-start-a-new-proxy-project"> |
| 274 | +<a class="md-nav__link" href="#1-create-a-new-proxy-project"> |
289 | 275 | <span class="md-ellipsis"> |
290 | | - 2. Start a new proxy project |
| 276 | + 1. Create a new proxy project |
291 | 277 | </span> |
292 | 278 | </a> |
293 | 279 | </li> |
294 | 280 | <li class="md-nav__item"> |
295 | | -<a class="md-nav__link" href="#start-the-services"> |
| 281 | +<a class="md-nav__link" href="#2-adjust-the-application"> |
296 | 282 | <span class="md-ellipsis"> |
297 | | - Start the services |
| 283 | + 2. Adjust the Application |
298 | 284 | </span> |
299 | 285 | </a> |
300 | 286 | </li> |
@@ -372,37 +358,7 @@ <h2 id="deployment-flow">🔄 Deployment Flow</h2> |
372 | 358 | <li>Tear down the old one when ready.</li> |
373 | 359 | </ol> |
374 | 360 | <p>Ok, we need to make some changes to the repository.</p> |
375 | | -<h2 id="1-adjust-the-application">1. Adjust the Application</h2> |
376 | | -<p>Remove the app's exposed ports, and connect to the proxy's network:</p> |
377 | | -<div class="highlight"><span class="filename">app/compose.yaml</span><pre><span></span><code><span class="nt">services</span><span class="p">:</span> |
378 | | -<span class="w"> </span><span class="nt">caddy</span><span class="p">:</span> |
379 | | -<span class="w"> </span><span class="nt">build</span><span class="p">:</span> |
380 | | -<span class="w"> </span><span class="nt">context</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./caddy</span> |
381 | | -<span class="hll"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span> |
382 | | -</span><span class="hll"><span class="w"> </span><span class="nt">CADDY_SITE_ADDRESS</span><span class="p">:</span><span class="w"> </span><span class="s">":80"</span> |
383 | | -</span><span class="hll"><span class="w"> </span><span class="nt">networks</span><span class="p">:</span> |
384 | | -</span><span class="hll"><span class="w"> </span><span class="nt">default</span><span class="p">:</span> |
385 | | -</span><span class="hll"><span class="w"> </span><span class="nt">proxy_default</span><span class="p">:</span> |
386 | | -</span><span class="hll"><span class="w"> </span><span class="nt">aliases</span><span class="p">:</span> |
387 | | -</span><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${COMPOSE_PROJECT_NAME}_caddy</span> |
388 | | -</span> |
389 | | -<span class="hll"><span class="nt">networks</span><span class="p">:</span> |
390 | | -</span><span class="hll"><span class="w"> </span><span class="nt">proxy_default</span><span class="p">:</span> |
391 | | -</span><span class="hll"><span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span> |
392 | | -</span></code></pre></div> |
393 | | -<p>What's changed?</p> |
394 | | -<ol> |
395 | | -<li>The exposed ports were removed.</li> |
396 | | -<li>Caddy's site address has changed to <code>:80</code> (The application layer no longer |
397 | | - handles TLS).</li> |
398 | | -<li>We connect to the proxy's network, so the proxy can direct traffic to the |
399 | | - app.</li> |
400 | | -<li>A container alias was added. This alias allows the proxy to target this |
401 | | - container, while still allowing Docker to manage the container name.</li> |
402 | | -</ol> |
403 | | -<p>The <code>CADDY_SITE_ADDRESS</code> environment variable can be removed from the override |
404 | | -file.</p> |
405 | | -<h2 id="2-start-a-new-proxy-project">2. Start a new <code>proxy</code> project</h2> |
| 361 | +<h2 id="1-create-a-new-proxy-project">1. Create a new <code>proxy</code> project</h2> |
406 | 362 | <p>From the root of the repository, create a new <code>proxy</code> project:</p> |
407 | 363 | <div class="highlight"><pre><span></span><code>mkdir<span class="w"> </span>proxy |
408 | 364 | </code></pre></div> |
@@ -445,11 +401,42 @@ <h2 id="2-start-a-new-proxy-project">2. Start a new <code>proxy</code> project</ |
445 | 401 |
|
446 | 402 | <span class="k">COPY</span><span class="w"> </span>Caddyfile<span class="w"> </span>/etc/caddy/Caddyfile |
447 | 403 | </code></pre></div> |
448 | | -<h2 id="start-the-services">Start the services</h2> |
449 | | -<p>Start the proxy first, then the app which connects to its network.</p> |
450 | | -<div class="highlight"><pre><span></span><code><span class="l l-Scalar l-Scalar-Plain">cd proxy && docker compose up -d</span> |
451 | | -<span class="l l-Scalar l-Scalar-Plain">cd ../app && docker compose up -d</span> |
| 404 | +<p>Start the proxy service:</p> |
| 405 | +<div class="highlight"><pre><span></span><code><span class="l l-Scalar l-Scalar-Plain">docker compose up -d</span> |
| 406 | +</code></pre></div> |
| 407 | +<h2 id="2-adjust-the-application">2. Adjust the Application</h2> |
| 408 | +<p>Remove the app's exposed ports, and connect to the proxy's network:</p> |
| 409 | +<div class="highlight"><span class="filename">app/compose.yaml</span><pre><span></span><code><span class="nt">services</span><span class="p">:</span> |
| 410 | +<span class="w"> </span><span class="nt">caddy</span><span class="p">:</span> |
| 411 | +<span class="w"> </span><span class="nt">build</span><span class="p">:</span> |
| 412 | +<span class="w"> </span><span class="nt">context</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./caddy</span> |
| 413 | +<span class="hll"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span> |
| 414 | +</span><span class="hll"><span class="w"> </span><span class="nt">CADDY_SITE_ADDRESS</span><span class="p">:</span><span class="w"> </span><span class="s">":80"</span> |
| 415 | +</span><span class="hll"><span class="w"> </span><span class="nt">networks</span><span class="p">:</span> |
| 416 | +</span><span class="hll"><span class="w"> </span><span class="nt">default</span><span class="p">:</span> |
| 417 | +</span><span class="hll"><span class="w"> </span><span class="nt">proxy_default</span><span class="p">:</span> |
| 418 | +</span><span class="hll"><span class="w"> </span><span class="nt">aliases</span><span class="p">:</span> |
| 419 | +</span><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${COMPOSE_PROJECT_NAME}_caddy</span> |
| 420 | +</span> |
| 421 | +<span class="hll"><span class="nt">networks</span><span class="p">:</span> |
| 422 | +</span><span class="hll"><span class="w"> </span><span class="nt">proxy_default</span><span class="p">:</span> |
| 423 | +</span><span class="hll"><span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span> |
| 424 | +</span></code></pre></div> |
| 425 | +<p>What's changed?</p> |
| 426 | +<ol> |
| 427 | +<li>The exposed ports were removed.</li> |
| 428 | +<li>Caddy's site address has changed to <code>:80</code> (The application layer no longer |
| 429 | + handles TLS).</li> |
| 430 | +<li>We connect to the proxy's network, so the proxy can direct traffic to the |
| 431 | + app.</li> |
| 432 | +<li>A container alias was added. This alias allows the proxy to target this |
| 433 | + container, while still allowing Docker to manage the container name.</li> |
| 434 | +</ol> |
| 435 | +<p>The <code>CADDY_SITE_ADDRESS</code> environment variable can be removed from the override |
| 436 | +file.</p> |
| 437 | +<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d<span class="w"> </span>app |
452 | 438 | </code></pre></div> |
| 439 | +<p>Commit these changes.</p> |
453 | 440 | <h2 id="deploying">Deploying</h2> |
454 | 441 | <div class="highlight"><pre><span></span><code>proxy/ |
455 | 442 | compose.yaml |
|
0 commit comments