|
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