|
3 | 3 | <meta charset="UTF-8">
|
4 | 4 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
| -<meta name="generator" content="Asciidoctor 2.0.16"> |
| 6 | +<meta name="generator" content="Asciidoctor 2.0.20"> |
7 | 7 | <title>A Template Project Structure</title>
|
8 | 8 | <style>
|
9 | 9 | /* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
|
|
100 | 100 |
|
101 | 101 | </style>
|
102 | 102 | <style>
|
103 |
| -pre { line-height: 125%; } |
104 |
| -td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } |
105 |
| -span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } |
106 |
| -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } |
107 |
| -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } |
108 | 103 | pre.pygments .hll { background-color: #ffffcc }
|
109 | 104 | pre.pygments { background: #f0f0f0; }
|
110 | 105 | pre.pygments .tok-c { color: #60a0b0; font-style: italic } /* Comment */
|
@@ -444,34 +439,34 @@ <h3 id="_docker_compose_and_containers_config"><a class="anchor" href="#_docker_
|
444 | 439 | <div class="content">
|
445 | 440 | <div class="listingblock">
|
446 | 441 | <div class="content">
|
447 |
| -<pre class="pygments highlight"><code data-lang="yaml"><span></span><span class="tok-nt">version</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-s">"3"</span><span class="tok-w"></span> |
448 |
| -<span class="tok-nt">services</span><span class="tok-p">:</span><span class="tok-w"></span> |
| 442 | +<pre class="pygments highlight"><code data-lang="yaml"><span></span><span class="tok-nt">version</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-s">"3"</span> |
| 443 | +<span class="tok-nt">services</span><span class="tok-p">:</span> |
449 | 444 |
|
450 | 445 | <span class="tok-w"> </span><span class="tok-nt">app</span><span class="tok-p">:</span><span class="tok-w"> </span>#<b class="conum">(1)</b>
|
451 |
| -<span class="tok-w"> </span><span class="tok-nt">build</span><span class="tok-p">:</span><span class="tok-w"></span> |
452 |
| -<span class="tok-w"> </span><span class="tok-nt">context</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">.</span><span class="tok-w"></span> |
453 |
| -<span class="tok-w"> </span><span class="tok-nt">dockerfile</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">Dockerfile</span><span class="tok-w"></span> |
454 |
| -<span class="tok-w"> </span><span class="tok-nt">depends_on</span><span class="tok-p">:</span><span class="tok-w"></span> |
455 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres</span><span class="tok-w"></span> |
| 446 | +<span class="tok-w"> </span><span class="tok-nt">build</span><span class="tok-p">:</span> |
| 447 | +<span class="tok-w"> </span><span class="tok-nt">context</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">.</span> |
| 448 | +<span class="tok-w"> </span><span class="tok-nt">dockerfile</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">Dockerfile</span> |
| 449 | +<span class="tok-w"> </span><span class="tok-nt">depends_on</span><span class="tok-p">:</span> |
| 450 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres</span> |
456 | 451 | <span class="tok-w"> </span><span class="tok-nt">environment</span><span class="tok-p">:</span><span class="tok-w"> </span>#<b class="conum">(3)</b>
|
457 | 452 | <span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_HOST=postgres</span><span class="tok-w"> </span><b class="conum">(4)</b>
|
458 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_PASSWORD=abc123</span><span class="tok-w"></span> |
459 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">API_HOST=app</span><span class="tok-w"></span> |
| 453 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_PASSWORD=abc123</span> |
| 454 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">API_HOST=app</span> |
460 | 455 | <span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">PYTHONDONTWRITEBYTECODE=1</span><span class="tok-w"> </span>#<b class="conum">(5)</b>
|
461 | 456 | <span class="tok-w"> </span><span class="tok-nt">volumes</span><span class="tok-p">:</span><span class="tok-w"> </span>#<b class="conum">(6)</b>
|
462 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">./src:/src</span><span class="tok-w"></span> |
463 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">./tests:/tests</span><span class="tok-w"></span> |
464 |
| -<span class="tok-w"> </span><span class="tok-nt">ports</span><span class="tok-p">:</span><span class="tok-w"></span> |
| 457 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">./src:/src</span> |
| 458 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">./tests:/tests</span> |
| 459 | +<span class="tok-w"> </span><span class="tok-nt">ports</span><span class="tok-p">:</span> |
465 | 460 | <span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-s">"5005:80"</span><span class="tok-w"> </span><b class="conum">(7)</b>
|
466 | 461 |
|
467 | 462 |
|
468 |
| -<span class="tok-w"> </span><span class="tok-nt">postgres</span><span class="tok-p">:</span><span class="tok-w"></span> |
| 463 | +<span class="tok-w"> </span><span class="tok-nt">postgres</span><span class="tok-p">:</span> |
469 | 464 | <span class="tok-w"> </span><span class="tok-nt">image</span><span class="tok-p">:</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres:9.6</span><span class="tok-w"> </span>#<b class="conum">(2)</b>
|
470 |
| -<span class="tok-w"> </span><span class="tok-nt">environment</span><span class="tok-p">:</span><span class="tok-w"></span> |
471 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_USER=allocation</span><span class="tok-w"></span> |
472 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_PASSWORD=abc123</span><span class="tok-w"></span> |
473 |
| -<span class="tok-w"> </span><span class="tok-nt">ports</span><span class="tok-p">:</span><span class="tok-w"></span> |
474 |
| -<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-s">"54321:5432"</span><span class="tok-w"></span></code></pre> |
| 465 | +<span class="tok-w"> </span><span class="tok-nt">environment</span><span class="tok-p">:</span> |
| 466 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_USER=allocation</span> |
| 467 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_PASSWORD=abc123</span> |
| 468 | +<span class="tok-w"> </span><span class="tok-nt">ports</span><span class="tok-p">:</span> |
| 469 | +<span class="tok-w"> </span><span class="tok-p tok-p-Indicator">-</span><span class="tok-w"> </span><span class="tok-s">"54321:5432"</span></code></pre> |
475 | 470 | </div>
|
476 | 471 | </div>
|
477 | 472 | </div>
|
@@ -602,19 +597,19 @@ <h3 id="_dockerfile"><a class="anchor" href="#_dockerfile"></a>Dockerfile</h3>
|
602 | 597 | <span class="tok-c"># RUN apt install gcc libpq (no longer needed bc we use psycopg2-binary)</span>
|
603 | 598 |
|
604 | 599 | <b class="conum">(2)</b>
|
605 |
| -<span class="tok-k">COPY</span><span class="tok-w"> </span>requirements.txt /tmp/ |
606 |
| -<span class="tok-k">RUN</span><span class="tok-w"> </span>pip install -r /tmp/requirements.txt |
| 600 | +<span class="tok-k">COPY</span><span class="tok-w"> </span>requirements.txt<span class="tok-w"> </span>/tmp/ |
| 601 | +<span class="tok-k">RUN</span><span class="tok-w"> </span>pip<span class="tok-w"> </span>install<span class="tok-w"> </span>-r<span class="tok-w"> </span>/tmp/requirements.txt |
607 | 602 |
|
608 | 603 | <b class="conum">(3)</b>
|
609 |
| -<span class="tok-k">RUN</span><span class="tok-w"> </span>mkdir -p /src |
610 |
| -<span class="tok-k">COPY</span><span class="tok-w"> </span>src/ /src/ |
611 |
| -<span class="tok-k">RUN</span><span class="tok-w"> </span>pip install -e /src |
612 |
| -<span class="tok-k">COPY</span><span class="tok-w"> </span>tests/ /tests/ |
| 604 | +<span class="tok-k">RUN</span><span class="tok-w"> </span>mkdir<span class="tok-w"> </span>-p<span class="tok-w"> </span>/src |
| 605 | +<span class="tok-k">COPY</span><span class="tok-w"> </span>src/<span class="tok-w"> </span>/src/ |
| 606 | +<span class="tok-k">RUN</span><span class="tok-w"> </span>pip<span class="tok-w"> </span>install<span class="tok-w"> </span>-e<span class="tok-w"> </span>/src |
| 607 | +<span class="tok-k">COPY</span><span class="tok-w"> </span>tests/<span class="tok-w"> </span>/tests/ |
613 | 608 |
|
614 | 609 | <b class="conum">(4)</b>
|
615 | 610 | <span class="tok-k">WORKDIR</span><span class="tok-w"> </span><span class="tok-s">/src</span>
|
616 |
| -<span class="tok-k">ENV</span><span class="tok-w"> </span><span class="tok-nv">FLASK_APP</span><span class="tok-o">=</span>allocation/entrypoints/flask_app.py <span class="tok-nv">FLASK_DEBUG</span><span class="tok-o">=</span><span class="tok-m">1</span> <span class="tok-nv">PYTHONUNBUFFERED</span><span class="tok-o">=</span><span class="tok-m">1</span> |
617 |
| -<span class="tok-k">CMD</span><span class="tok-w"> </span>flask run --host<span class="tok-o">=</span><span class="tok-m">0</span>.0.0.0 --port<span class="tok-o">=</span><span class="tok-m">80</span></code></pre> |
| 611 | +<span class="tok-k">ENV</span><span class="tok-w"> </span><span class="tok-nv">FLASK_APP</span><span class="tok-o">=</span>allocation/entrypoints/flask_app.py<span class="tok-w"> </span><span class="tok-nv">FLASK_DEBUG</span><span class="tok-o">=</span><span class="tok-m">1</span><span class="tok-w"> </span><span class="tok-nv">PYTHONUNBUFFERED</span><span class="tok-o">=</span><span class="tok-m">1</span> |
| 612 | +<span class="tok-k">CMD</span><span class="tok-w"> </span>flask<span class="tok-w"> </span>run<span class="tok-w"> </span>--host<span class="tok-o">=</span><span class="tok-m">0</span>.0.0.0<span class="tok-w"> </span>--port<span class="tok-o">=</span><span class="tok-m">80</span></code></pre> |
618 | 613 | </div>
|
619 | 614 | </div>
|
620 | 615 | </div>
|
@@ -753,7 +748,7 @@ <h3 id="_wrap_up"><a class="anchor" href="#_wrap_up"></a>Wrap-Up</h3>
|
753 | 748 | </div>
|
754 | 749 | <div id="footer">
|
755 | 750 | <div id="footer-text">
|
756 |
| -Last updated 2021-02-26 00:40:46 UTC |
| 751 | +Last updated 2023-11-24 02:20:52 UTC |
757 | 752 | </div>
|
758 | 753 | </div>
|
759 | 754 | <div><div id="disqus_thread" style="margin: 10px"></div>
|
|
0 commit comments