|
3 | 3 | <metacharset="UTF-8"> |
4 | 4 | <metahttp-equiv="X-UA-Compatible" content="IE=edge"> |
5 | 5 | <metaname="viewport" content="width=device-width, initial-scale=1.0"> |
6 | | -<metaname="generator" content="Asciidoctor 2.0.16"> |
| 6 | +<metaname="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 | <divclass="content"> |
445 | 440 | <divclass="listingblock"> |
446 | 441 | <divclass="content"> |
447 | | -<preclass="pygments highlight"><codedata-lang="yaml"><span></span><spanclass="tok-nt">version</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-s">"3"</span><spanclass="tok-w"></span> |
448 | | -<spanclass="tok-nt">services</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
| 442 | +<preclass="pygments highlight"><codedata-lang="yaml"><span></span><spanclass="tok-nt">version</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-s">"3"</span> |
| 443 | +<spanclass="tok-nt">services</span><spanclass="tok-p">:</span> |
449 | 444 |
|
450 | 445 | <spanclass="tok-w"></span><spanclass="tok-nt">app</span><spanclass="tok-p">:</span><spanclass="tok-w"></span>#<bclass="conum">(1)</b> |
451 | | -<spanclass="tok-w"></span><spanclass="tok-nt">build</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
452 | | -<spanclass="tok-w"></span><spanclass="tok-nt">context</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">.</span><spanclass="tok-w"></span> |
453 | | -<spanclass="tok-w"></span><spanclass="tok-nt">dockerfile</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">Dockerfile</span><spanclass="tok-w"></span> |
454 | | -<spanclass="tok-w"></span><spanclass="tok-nt">depends_on</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
455 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres</span><spanclass="tok-w"></span> |
| 446 | +<spanclass="tok-w"></span><spanclass="tok-nt">build</span><spanclass="tok-p">:</span> |
| 447 | +<spanclass="tok-w"></span><spanclass="tok-nt">context</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">.</span> |
| 448 | +<spanclass="tok-w"></span><spanclass="tok-nt">dockerfile</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">Dockerfile</span> |
| 449 | +<spanclass="tok-w"></span><spanclass="tok-nt">depends_on</span><spanclass="tok-p">:</span> |
| 450 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres</span> |
456 | 451 | <spanclass="tok-w"></span><spanclass="tok-nt">environment</span><spanclass="tok-p">:</span><spanclass="tok-w"></span>#<bclass="conum">(3)</b> |
457 | 452 | <spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_HOST=postgres</span><spanclass="tok-w"></span><bclass="conum">(4)</b> |
458 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_PASSWORD=abc123</span><spanclass="tok-w"></span> |
459 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">API_HOST=app</span><spanclass="tok-w"></span> |
| 453 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">DB_PASSWORD=abc123</span> |
| 454 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">API_HOST=app</span> |
460 | 455 | <spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">PYTHONDONTWRITEBYTECODE=1</span><spanclass="tok-w"></span>#<bclass="conum">(5)</b> |
461 | 456 | <spanclass="tok-w"></span><spanclass="tok-nt">volumes</span><spanclass="tok-p">:</span><spanclass="tok-w"></span>#<bclass="conum">(6)</b> |
462 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">./src:/src</span><spanclass="tok-w"></span> |
463 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">./tests:/tests</span><spanclass="tok-w"></span> |
464 | | -<spanclass="tok-w"></span><spanclass="tok-nt">ports</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
| 457 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">./src:/src</span> |
| 458 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">./tests:/tests</span> |
| 459 | +<spanclass="tok-w"></span><spanclass="tok-nt">ports</span><spanclass="tok-p">:</span> |
465 | 460 | <spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-s">"5005:80"</span><spanclass="tok-w"></span><bclass="conum">(7)</b> |
466 | 461 |
|
467 | 462 |
|
468 | | -<spanclass="tok-w"></span><spanclass="tok-nt">postgres</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
| 463 | +<spanclass="tok-w"></span><spanclass="tok-nt">postgres</span><spanclass="tok-p">:</span> |
469 | 464 | <spanclass="tok-w"></span><spanclass="tok-nt">image</span><spanclass="tok-p">:</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">postgres:9.6</span><spanclass="tok-w"></span>#<bclass="conum">(2)</b> |
470 | | -<spanclass="tok-w"></span><spanclass="tok-nt">environment</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
471 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_USER=allocation</span><spanclass="tok-w"></span> |
472 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_PASSWORD=abc123</span><spanclass="tok-w"></span> |
473 | | -<spanclass="tok-w"></span><spanclass="tok-nt">ports</span><spanclass="tok-p">:</span><spanclass="tok-w"></span> |
474 | | -<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-s">"54321:5432"</span><spanclass="tok-w"></span></code></pre> |
| 465 | +<spanclass="tok-w"></span><spanclass="tok-nt">environment</span><spanclass="tok-p">:</span> |
| 466 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_USER=allocation</span> |
| 467 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="tok-l tok-l-Scalar tok-l-Scalar-Plain">POSTGRES_PASSWORD=abc123</span> |
| 468 | +<spanclass="tok-w"></span><spanclass="tok-nt">ports</span><spanclass="tok-p">:</span> |
| 469 | +<spanclass="tok-w"></span><spanclass="tok-p tok-p-Indicator">-</span><spanclass="tok-w"></span><spanclass="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 | <spanclass="tok-c"># RUN apt install gcc libpq (no longer needed bc we use psycopg2-binary)</span> |
603 | 598 |
|
604 | 599 | <bclass="conum">(2)</b> |
605 | | -<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>requirements.txt/tmp/ |
606 | | -<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>pipinstall -r /tmp/requirements.txt |
| 600 | +<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>requirements.txt<spanclass="tok-w"></span>/tmp/ |
| 601 | +<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>pip<spanclass="tok-w"></span>install<spanclass="tok-w"></span>-r<spanclass="tok-w"></span>/tmp/requirements.txt |
607 | 602 |
|
608 | 603 | <bclass="conum">(3)</b> |
609 | | -<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>mkdir -p /src |
610 | | -<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>src//src/ |
611 | | -<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>pipinstall -e /src |
612 | | -<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>tests//tests/ |
| 604 | +<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>mkdir<spanclass="tok-w"></span>-p<spanclass="tok-w"></span>/src |
| 605 | +<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>src/<spanclass="tok-w"></span>/src/ |
| 606 | +<spanclass="tok-k">RUN</span><spanclass="tok-w"></span>pip<spanclass="tok-w"></span>install<spanclass="tok-w"></span>-e<spanclass="tok-w"></span>/src |
| 607 | +<spanclass="tok-k">COPY</span><spanclass="tok-w"></span>tests/<spanclass="tok-w"></span>/tests/ |
613 | 608 |
|
614 | 609 | <bclass="conum">(4)</b> |
615 | 610 | <spanclass="tok-k">WORKDIR</span><spanclass="tok-w"></span><spanclass="tok-s">/src</span> |
616 | | -<spanclass="tok-k">ENV</span><spanclass="tok-w"></span><spanclass="tok-nv">FLASK_APP</span><spanclass="tok-o">=</span>allocation/entrypoints/flask_app.py<spanclass="tok-nv">FLASK_DEBUG</span><spanclass="tok-o">=</span><spanclass="tok-m">1</span><spanclass="tok-nv">PYTHONUNBUFFERED</span><spanclass="tok-o">=</span><spanclass="tok-m">1</span> |
617 | | -<spanclass="tok-k">CMD</span><spanclass="tok-w"></span>flaskrun --host<spanclass="tok-o">=</span><spanclass="tok-m">0</span>.0.0.0--port<spanclass="tok-o">=</span><spanclass="tok-m">80</span></code></pre> |
| 611 | +<spanclass="tok-k">ENV</span><spanclass="tok-w"></span><spanclass="tok-nv">FLASK_APP</span><spanclass="tok-o">=</span>allocation/entrypoints/flask_app.py<spanclass="tok-w"></span><spanclass="tok-nv">FLASK_DEBUG</span><spanclass="tok-o">=</span><spanclass="tok-m">1</span><spanclass="tok-w"></span><spanclass="tok-nv">PYTHONUNBUFFERED</span><spanclass="tok-o">=</span><spanclass="tok-m">1</span> |
| 612 | +<spanclass="tok-k">CMD</span><spanclass="tok-w"></span>flask<spanclass="tok-w"></span>run<spanclass="tok-w"></span>--host<spanclass="tok-o">=</span><spanclass="tok-m">0</span>.0.0.0<spanclass="tok-w"></span>--port<spanclass="tok-o">=</span><spanclass="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 | <divid="footer"> |
755 | 750 | <divid="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><divid="disqus_thread" style="margin: 10px"></div> |
|
0 commit comments