forked from hotosm/fAIr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request hotosm#167 from hotosm/enhance/docker_cpu
Enhance : Added support for docker CPU
- Loading branch information
Showing
8 changed files
with
167 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,38 @@ | ||
# Use a specific base image with GPU support | ||
FROM tensorflow/tensorflow:2.9.2-gpu | ||
|
||
RUN apt-get update && apt-get install -y python3-opencv | ||
RUN add-apt-repository ppa:ubuntugis/ppa && apt-get update | ||
RUN apt-get update | ||
RUN apt-get install -y gdal-bin | ||
RUN apt-get install -y libgdal-dev | ||
# Update package lists and install necessary dependencies in a single step | ||
RUN apt-get update && \ | ||
apt-get install -y python3-opencv gdal-bin libgdal-dev && \ | ||
add-apt-repository ppa:ubuntugis/ppa && \ | ||
apt-get update && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Set environment variables for GDAL | ||
ENV CPLUS_INCLUDE_PATH=/usr/include/gdal | ||
ENV C_INCLUDE_PATH=/usr/include/gdal | ||
|
||
#install numpy before gdal | ||
# Install specific version of NumPy | ||
RUN pip install numpy==1.23.5 | ||
|
||
# pip install dependencies. | ||
RUN pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==`gdal-config --version` | ||
|
||
COPY docker/ramp/docker-requirements.txt docker-requirements.txt | ||
RUN pip install -r docker-requirements.txt | ||
# Install GDAL with specified options | ||
RUN pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==$(gdal-config --version) | ||
|
||
# pip install solaris -- try with tmp-free build | ||
COPY docker/ramp/solaris /tmp/solaris | ||
RUN pip install /tmp/solaris --use-feature=in-tree-build | ||
# Copy and install Python requirements | ||
COPY docker/ramp/docker-requirements.txt /tmp/docker-requirements.txt | ||
RUN pip install -r /tmp/docker-requirements.txt | ||
|
||
RUN pip install scikit-fmm --use-feature=in-tree-build | ||
# Upgrade setuptools | ||
RUN pip install --upgrade setuptools | ||
|
||
RUN pip install setuptools --upgrade | ||
COPY requirements.txt /tmp/requirements.txt | ||
RUN pip install -r /tmp/requirements.txt | ||
|
||
COPY requirements.txt requirements.txt | ||
RUN pip install -r requirements.txt | ||
# Install solaris and scikit-fmm packages | ||
COPY docker/ramp/solaris /tmp/solaris | ||
RUN pip install /tmp/solaris --use-feature=in-tree-build && \ | ||
pip install scikit-fmm --use-feature=in-tree-build | ||
|
||
# Set working directory and copy the application code | ||
WORKDIR /app | ||
COPY . /app | ||
COPY . /app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Use a specific base image with the desired TensorFlow version | ||
FROM tensorflow/tensorflow:2.9.2 | ||
|
||
# Update package lists and install necessary dependencies in a single step | ||
RUN apt-get update && \ | ||
apt-get install -y software-properties-common python3-opencv && \ | ||
add-apt-repository ppa:ubuntugis/ppa && \ | ||
apt-get update && \ | ||
apt-get install -y gdal-bin libgdal-dev && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Set environment variables for GDAL | ||
ENV CPLUS_INCLUDE_PATH=/usr/include/gdal | ||
ENV C_INCLUDE_PATH=/usr/include/gdal | ||
|
||
# Install specific version of NumPy | ||
RUN pip install numpy==1.23.5 | ||
|
||
# Install GDAL with specified options | ||
RUN pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==$(gdal-config --version) | ||
|
||
# Copy and install Python requirements | ||
COPY docker/ramp/docker-requirements.txt /tmp/docker-requirements.txt | ||
RUN pip install -r /tmp/docker-requirements.txt | ||
|
||
# Upgrade setuptools | ||
RUN pip install --upgrade setuptools | ||
|
||
COPY requirements.txt /tmp/requirements.txt | ||
RUN pip install -r /tmp/requirements.txt | ||
|
||
# Install solaris and scikit-fmm packages | ||
COPY docker/ramp/solaris /tmp/solaris | ||
RUN pip install /tmp/solaris --use-feature=in-tree-build && \ | ||
pip install scikit-fmm --use-feature=in-tree-build | ||
|
||
# Set working directory and copy the application code | ||
WORKDIR /app | ||
COPY . /app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
version: "3.8" | ||
|
||
services: | ||
postgres: | ||
restart: always | ||
image: postgis/postgis | ||
container_name: pgsql | ||
environment: | ||
- POSTGRES_DB=ai | ||
- POSTGRES_USER=postgres | ||
- POSTGRES_PASSWORD=admin | ||
volumes: | ||
- ./postgres-data:/var/lib/postgresql/data | ||
ports: | ||
- "5434:5432" | ||
|
||
redis: | ||
image: redis | ||
container_name: redis | ||
ports: | ||
- "6379:6379" | ||
|
||
backend-api: | ||
build: | ||
context: ./backend | ||
dockerfile: Dockerfile_CPU | ||
container_name: api | ||
command: python manage.py runserver 0.0.0.0:8000 | ||
|
||
ports: | ||
- 8000:8000 | ||
volumes: | ||
- ./backend:/app | ||
- ${RAMP_HOME}:/RAMP_HOME | ||
- ${TRAINING_WORKSPACE}:/TRAINING_WORKSPACE | ||
depends_on: | ||
- redis | ||
- postgres | ||
|
||
backend-worker: | ||
build: | ||
context: ./backend | ||
dockerfile: Dockerfile_CPU | ||
container_name: worker | ||
command: celery -A aiproject worker --loglevel=INFO --concurrency=1 | ||
|
||
volumes: | ||
- ./backend:/app | ||
- ${RAMP_HOME}:/RAMP_HOME | ||
- ${TRAINING_WORKSPACE}:/TRAINING_WORKSPACE | ||
depends_on: | ||
- backend-api | ||
- redis | ||
- postgres | ||
|
||
worker-dashboard: | ||
image: mher/flower | ||
container_name: flower | ||
command: celery --broker=redis://redis:6379// flower --address=0.0.0.0 --port=5000 | ||
ports: | ||
- 5500:5000 | ||
depends_on: | ||
- backend-api | ||
- redis | ||
- backend-worker | ||
|
||
frontend: | ||
build: | ||
context: ./frontend | ||
dockerfile: Dockerfile.frontend | ||
container_name: frontend | ||
command: npm start -- --host 0.0.0.0 --port 3000 | ||
ports: | ||
- 3000:3000 | ||
depends_on: | ||
- backend-api |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
docker exec -it api bash -c "python manage.py makemigrations" | ||
docker exec -it api bash -c "python manage.py makemigrations login" | ||
docker exec -it api bash -c "python manage.py makemigrations core" | ||
docker exec -it api bash -c "python manage.py migrate" |