# Docker
* adds docker related configurations * directly working configuration provided
This commit is contained in:
		
							parent
							
								
									ddb13abe2e
								
							
						
					
					
						commit
						16a5f0c5d4
					
				
							
								
								
									
										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()
 | 
			
		||||
 | 
			
		||||
# 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)
 | 
			
		||||
 | 
			
		||||
@ -119,10 +119,11 @@ WSGI_APPLICATION = 'konova.wsgi.application'
 | 
			
		||||
DATABASES = {
 | 
			
		||||
    'default': {
 | 
			
		||||
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
 | 
			
		||||
        'NAME': 'konova',
 | 
			
		||||
        'USER': 'postgres',
 | 
			
		||||
        'HOST': '127.0.0.1',
 | 
			
		||||
        'PORT': '5432',
 | 
			
		||||
        'NAME': os.environ.get('POSTGRES_NAME'),
 | 
			
		||||
        'USER': os.environ.get('POSTGRES_USER'),
 | 
			
		||||
        'HOST': os.environ.get('POSTGRES_HOST'),
 | 
			
		||||
        'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
 | 
			
		||||
        'PORT': os.environ.get('POSTGRES_PORT'),
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user