Commit 265af181c5f0920649b5a6b7524ac0632ecf941a
1 parent
5533319e
Exists in
rhitier-dev
Set Docker compose structure
Showing
7 changed files
with
113 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,27 @@ |
1 | +bin | |
2 | +cache | |
3 | +CHANGELOG.md | |
4 | +DEV.md | |
5 | +docker-compose.yml | |
6 | +Dockerfile | |
7 | +.dockerignore | |
8 | +.git | |
9 | +.gitignore | |
10 | +.gitlab-ci.yml | |
11 | +heliopropa.wsgi | |
12 | +.idea | |
13 | +LICENSE | |
14 | +__pycache__ | |
15 | +pytest.ini | |
16 | +README.md | |
17 | +requirements-dev.txt | |
18 | +requirements-stable.txt | |
19 | +requirements-tests.txt | |
20 | +resources | |
21 | +resources-tests | |
22 | +SPACEWEATHERONLINE.md | |
23 | +spec | |
24 | +tests | |
25 | +TODO.md | |
26 | +venv | |
27 | +VISITS | ... | ... |
... | ... | @@ -0,0 +1,18 @@ |
1 | +FROM python:3.9-slim-bullseye | |
2 | + | |
3 | +ENV VIRTUAL_ENV=/opt/venv | |
4 | +RUN python3 -m venv $VIRTUAL_ENV | |
5 | +ENV PATH="$VIRTUAL_ENV/bin:$PATH" | |
6 | + | |
7 | +# Install dependencies: | |
8 | +COPY requirements.txt . | |
9 | + | |
10 | +RUN pip install --upgrade pip &&\ | |
11 | + pip install wheel &&\ | |
12 | + pip install -r requirements.txt | |
13 | + | |
14 | +# Build the whole stuff | |
15 | +COPY . . | |
16 | + | |
17 | +# Allow running outside compose | |
18 | +CMD flask --app heliopropa:application run --host=0.0.0.0 | |
0 | 19 | \ No newline at end of file | ... | ... |
README.md
... | ... | @@ -15,6 +15,10 @@ It also gathers NetCDF data from AMDA, and serves it as CSV to the plotter. |
15 | 15 | - `web/view/home.html.jinja2` : the HTML template. |
16 | 16 | - `web/static/js/swapp.ls` : most of the javascript client-side. |
17 | 17 | |
18 | +## Quick Start | |
19 | + | |
20 | + docker compose build | |
21 | + docker compose up | |
18 | 22 | |
19 | 23 | ### Python venv |
20 | 24 | ... | ... |
... | ... | @@ -0,0 +1,23 @@ |
1 | +version: '3.3' | |
2 | + | |
3 | +services: | |
4 | + web: | |
5 | + build: | |
6 | + context: . | |
7 | + dockerfile: Dockerfile | |
8 | + command: gunicorn --bind 0.0.0.0:5000 heliopropa:application | |
9 | + volumes: | |
10 | + - helio_cache:/cache:rw | |
11 | + expose: | |
12 | + - 5000 | |
13 | + nginx: | |
14 | + image: nginx | |
15 | + volumes: | |
16 | + - ./resources/heliopropa.nginx.docker:/etc/nginx/conf.d/default.conf | |
17 | + ports: | |
18 | + - "8080:80" | |
19 | + depends_on: | |
20 | + - web | |
21 | + | |
22 | +volumes: | |
23 | + helio_cache: | ... | ... |
... | ... | @@ -0,0 +1,19 @@ |
1 | +upstream heliopropa { | |
2 | + server web:5000; | |
3 | +} | |
4 | + | |
5 | +server { | |
6 | + | |
7 | + listen 80; | |
8 | + | |
9 | + location / { | |
10 | + proxy_pass http://heliopropa; | |
11 | + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
12 | + proxy_set_header Host $host; | |
13 | + proxy_redirect off; | |
14 | + proxy_read_timeout 600; | |
15 | + proxy_connect_timeout 600; | |
16 | + proxy_send_timeout 600; | |
17 | + } | |
18 | + | |
19 | +} | ... | ... |
... | ... | @@ -0,0 +1,19 @@ |
1 | +upstream hello_flask { | |
2 | + server web:5000; | |
3 | +} | |
4 | + | |
5 | +server { | |
6 | + | |
7 | + listen 80; | |
8 | + | |
9 | + location / { | |
10 | + proxy_pass http://hello_flask; | |
11 | + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
12 | + proxy_set_header Host $host; | |
13 | + proxy_redirect off; | |
14 | + proxy_read_timeout 600; | |
15 | + proxy_connect_timeout 600; | |
16 | + proxy_send_timeout 600; | |
17 | + } | |
18 | + | |
19 | +} | ... | ... |