🚚 Refactor and simplify backend file structure (#609)
This commit is contained in:

committed by
GitHub

parent
a065f9c9e8
commit
73b2884057
8
src/backend/.dockerignore
Normal file
8
src/backend/.dockerignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Python
|
||||||
|
__pycache__
|
||||||
|
app.egg-info
|
||||||
|
*.pyc
|
||||||
|
.mypy_cache
|
||||||
|
.coverage
|
||||||
|
htmlcov
|
||||||
|
.venv
|
3
src/backend/.gitignore
vendored
3
src/backend/.gitignore
vendored
@@ -1,3 +1,6 @@
|
|||||||
__pycache__
|
__pycache__
|
||||||
app.egg-info
|
app.egg-info
|
||||||
*.pyc
|
*.pyc
|
||||||
|
.mypy_cache
|
||||||
|
.coverage
|
||||||
|
htmlcov
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[alembic]
|
[alembic]
|
||||||
# path to migration scripts
|
# path to migration scripts
|
||||||
script_location = alembic
|
script_location = app/alembic
|
||||||
|
|
||||||
# template used to generate migration files
|
# template used to generate migration files
|
||||||
# file_template = %%(rev)s_%%(slug)s
|
# file_template = %%(rev)s_%%(slug)s
|
3
src/backend/app/.gitignore
vendored
3
src/backend/app/.gitignore
vendored
@@ -1,3 +0,0 @@
|
|||||||
.mypy_cache
|
|
||||||
.coverage
|
|
||||||
htmlcov
|
|
@@ -9,17 +9,18 @@ RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/opt/poetry python
|
|||||||
poetry config virtualenvs.create false
|
poetry config virtualenvs.create false
|
||||||
|
|
||||||
# Copy poetry.lock* in case it doesn't exist in the repo
|
# Copy poetry.lock* in case it doesn't exist in the repo
|
||||||
COPY ./app/pyproject.toml ./app/poetry.lock* /app/
|
COPY ./pyproject.toml ./poetry.lock* /app/
|
||||||
|
|
||||||
# Allow installing dev dependencies to run tests
|
# Allow installing dev dependencies to run tests
|
||||||
ARG INSTALL_DEV=false
|
ARG INSTALL_DEV=false
|
||||||
RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --only main ; fi"
|
RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --only main ; fi"
|
||||||
|
|
||||||
# For development, Jupyter remote kernel, Hydrogen
|
|
||||||
# Using inside the container:
|
|
||||||
# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
ARG INSTALL_JUPYTER=false
|
|
||||||
RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi"
|
|
||||||
|
|
||||||
COPY ./app /app
|
|
||||||
ENV PYTHONPATH=/app
|
ENV PYTHONPATH=/app
|
||||||
|
|
||||||
|
COPY ./alembic.ini /app/
|
||||||
|
|
||||||
|
COPY ./prestart.sh /app/
|
||||||
|
|
||||||
|
COPY ./tests-start.sh /app/
|
||||||
|
|
||||||
|
COPY ./app /app/app
|
||||||
|
@@ -9,26 +9,21 @@ RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/opt/poetry python
|
|||||||
poetry config virtualenvs.create false
|
poetry config virtualenvs.create false
|
||||||
|
|
||||||
# Copy poetry.lock* in case it doesn't exist in the repo
|
# Copy poetry.lock* in case it doesn't exist in the repo
|
||||||
COPY ./app/pyproject.toml ./app/poetry.lock* /app/
|
COPY ./pyproject.toml ./poetry.lock* /app/
|
||||||
|
|
||||||
# Allow installing dev dependencies to run tests
|
# Allow installing dev dependencies to run tests
|
||||||
ARG INSTALL_DEV=false
|
ARG INSTALL_DEV=false
|
||||||
RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --only main ; fi"
|
RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --only main ; fi"
|
||||||
|
|
||||||
# For development, Jupyter remote kernel, Hydrogen
|
|
||||||
# Using inside the container:
|
|
||||||
# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
ARG INSTALL_JUPYTER=false
|
|
||||||
RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi"
|
|
||||||
|
|
||||||
ENV C_FORCE_ROOT=1
|
ENV C_FORCE_ROOT=1
|
||||||
|
|
||||||
COPY ./app /app
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ENV PYTHONPATH=/app
|
ENV PYTHONPATH=/app
|
||||||
|
|
||||||
COPY ./app/worker-start.sh /worker-start.sh
|
COPY ./alembic.ini /app/
|
||||||
|
|
||||||
|
COPY ./worker-start.sh /worker-start.sh
|
||||||
|
|
||||||
|
COPY ./app /app/app
|
||||||
|
|
||||||
RUN chmod +x /worker-start.sh
|
RUN chmod +x /worker-start.sh
|
||||||
|
|
||||||
|
@@ -49,32 +49,28 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "8888:8888"
|
- "8888:8888"
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/app:/app
|
- ./backend/:/app
|
||||||
environment:
|
environment:
|
||||||
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
- SERVER_HOST=http://${DOMAIN?Variable not set}
|
- SERVER_HOST=http://${DOMAIN?Variable not set}
|
||||||
build:
|
build:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
dockerfile: backend.dockerfile
|
dockerfile: backend.dockerfile
|
||||||
args:
|
args:
|
||||||
INSTALL_DEV: ${INSTALL_DEV-true}
|
INSTALL_DEV: ${INSTALL_DEV-true}
|
||||||
INSTALL_JUPYTER: ${INSTALL_JUPYTER-true}
|
|
||||||
# command: sleep infinity # Infinite loop to keep container alive doing nothing
|
# command: sleep infinity # Infinite loop to keep container alive doing nothing
|
||||||
command: /start-reload.sh
|
command: /start-reload.sh
|
||||||
|
|
||||||
celeryworker:
|
celeryworker:
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/app:/app
|
- ./backend/:/app
|
||||||
environment:
|
environment:
|
||||||
- RUN=celery worker -A app.worker -l info -Q main-queue -c 1
|
- RUN=celery worker -A app.worker -l info -Q main-queue -c 1
|
||||||
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
- SERVER_HOST=http://${DOMAIN?Variable not set}
|
- SERVER_HOST=http://${DOMAIN?Variable not set}
|
||||||
build:
|
build:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
dockerfile: celeryworker.dockerfile
|
dockerfile: celeryworker.dockerfile
|
||||||
args:
|
args:
|
||||||
INSTALL_DEV: ${INSTALL_DEV-true}
|
INSTALL_DEV: ${INSTALL_DEV-true}
|
||||||
INSTALL_JUPYTER: ${INSTALL_JUPYTER-true}
|
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
|
Reference in New Issue
Block a user