# Docker
* adds docker related configurations * directly working configuration provided
This commit is contained in:
parent
552559c118
commit
c9b54cd4c5
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM python:3.7-slim
|
||||||
|
ENV PYTHONUNBUFFERED 1
|
||||||
|
|
||||||
|
WORKDIR /konova
|
||||||
|
|
||||||
|
# Install some dependencies
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y gdal-bin
|
||||||
|
|
||||||
|
# Copy requirements file into workspace
|
||||||
|
COPY ./requirements.txt /konova/
|
||||||
|
RUN pip install --upgrade pip
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
# Copy rest of project into workspace
|
||||||
|
COPY . /konova/
|
||||||
|
|
55
docker-compose.yml
Normal file
55
docker-compose.yml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
volumes:
|
||||||
|
- /redis/data:/bitnami/redis/data
|
||||||
|
environment:
|
||||||
|
- REDIS_PASSWORD=CHANGE_ME
|
||||||
|
|
||||||
|
konova:
|
||||||
|
external_links:
|
||||||
|
- postgis:db
|
||||||
|
build: .
|
||||||
|
container_name: "konova-docker"
|
||||||
|
command: python manage.py runserver 0.0.0.0:8000
|
||||||
|
volumes:
|
||||||
|
- .:/konova
|
||||||
|
ports:
|
||||||
|
- "8001:8000"
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
environment:
|
||||||
|
- POSTGRES_NAME=konova
|
||||||
|
- POSTGRES_PORT=5432
|
||||||
|
- POSTGRES_PASSWORD=michel
|
||||||
|
- POSTGRES_USER=konova
|
||||||
|
- POSTGRES_HOST=db
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
|
||||||
|
# To provide a celery worker instance, we need to add the celery worker as an own service
|
||||||
|
celery_worker:
|
||||||
|
external_links:
|
||||||
|
- postgis:db
|
||||||
|
build: .
|
||||||
|
container_name: "konova-worker-docker"
|
||||||
|
command: celery -A konova worker -l INFO
|
||||||
|
volumes:
|
||||||
|
- .:/konova
|
||||||
|
depends_on:
|
||||||
|
- konova
|
||||||
|
environment:
|
||||||
|
- POSTGRES_NAME=konova
|
||||||
|
- POSTGRES_PORT=5432
|
||||||
|
- POSTGRES_PASSWORD=michel
|
||||||
|
- POSTGRES_USER=konova
|
||||||
|
- POSTGRES_HOST=db
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
|
||||||
|
# Instead of an own, new network, we need to connect to the existing one, which is provided by the postgis container
|
||||||
|
# NOTE: THIS NETWORK MUST EXIST
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
external:
|
||||||
|
name: postgis_nat_it_backend
|
@ -17,7 +17,7 @@ app.config_from_object('django.conf:settings', namespace='CELERY')
|
|||||||
app.autodiscover_tasks()
|
app.autodiscover_tasks()
|
||||||
|
|
||||||
# Declare redis as broker
|
# Declare redis as broker
|
||||||
app.conf.broker_url = 'redis://localhost:6379/0'
|
app.conf.broker_url = f"redis://{os.environ.get('REDIS_HOST')}:6379/0"
|
||||||
|
|
||||||
|
|
||||||
@app.task(bind=True)
|
@app.task(bind=True)
|
||||||
|
@ -119,10 +119,11 @@ WSGI_APPLICATION = 'konova.wsgi.application'
|
|||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.contrib.gis.db.backends.postgis',
|
'ENGINE': 'django.contrib.gis.db.backends.postgis',
|
||||||
'NAME': 'konova',
|
'NAME': os.environ.get('POSTGRES_NAME'),
|
||||||
'USER': 'postgres',
|
'USER': os.environ.get('POSTGRES_USER'),
|
||||||
'HOST': '127.0.0.1',
|
'HOST': os.environ.get('POSTGRES_HOST'),
|
||||||
'PORT': '5432',
|
'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
|
||||||
|
'PORT': os.environ.get('POSTGRES_PORT'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user