WIP: Docker enhancement
* reduces all needed containers into a single one * simplifies initial startup command by adding docker-entrypoint.sh
This commit is contained in:
parent
7d29dddd22
commit
80de57a087
@ -7,14 +7,16 @@ WORKDIR /konova
|
|||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt install -y gdal-bin redis-server nginx
|
RUN apt install -y gdal-bin redis-server nginx
|
||||||
|
|
||||||
# Copy requirements file into workspace
|
# Copy requirements file into workspace and install all dependencies
|
||||||
COPY ./requirements.txt /konova/
|
COPY ./requirements.txt /konova/
|
||||||
RUN pip install --upgrade pip
|
RUN pip install --upgrade pip
|
||||||
RUN pip install -r requirements.txt
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
# Copy rest of project into workspace
|
# Remove nginx default configuration and replace with own configuration
|
||||||
RUN rm /etc/nginx/sites-enabled/default
|
RUN rm /etc/nginx/sites-enabled/default
|
||||||
COPY ./nginx/nginx.conf /etc/nginx/conf.d
|
COPY ./nginx.conf /etc/nginx/conf.d
|
||||||
|
|
||||||
|
# Copy rest of project into workspace
|
||||||
COPY . /konova/
|
COPY . /konova/
|
||||||
|
|
||||||
# Move static files in designated folder
|
# Move static files in designated folder
|
||||||
|
@ -1,30 +1,19 @@
|
|||||||
version: '3.3'
|
version: '3.3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
#redis:
|
|
||||||
# image: redis
|
|
||||||
# container_name: "konova-redis-cache"
|
|
||||||
# volumes:
|
|
||||||
# - /redis/data:/bitnami/redis/data
|
|
||||||
# environment:
|
|
||||||
# - REDIS_PASSWORD=CHANGE_ME
|
|
||||||
|
|
||||||
konova:
|
konova:
|
||||||
external_links:
|
external_links:
|
||||||
- postgis:db
|
- postgis:db
|
||||||
- arnova-nginx-server:arnova
|
- arnova-nginx-server:arnova
|
||||||
build: .
|
build: .
|
||||||
container_name: "konova-docker"
|
container_name: "konova-docker"
|
||||||
command: sh -c 'service nginx start && service redis-server start && celery -A konova worker --detach && gunicorn konova.wsgi:application --bind 0.0.0.0:8000'
|
command: ./docker-entrypoint.sh
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- .:/konova
|
- .:/konova
|
||||||
- /path/to/host/folder:/konova_uploaded_files
|
- /data/apps/konova/uploaded_files:/konova_uploaded_files
|
||||||
- static_file_volume:/konova/static # Point to the volume for static files. Shared with nginx service
|
|
||||||
ports:
|
ports:
|
||||||
- "1337:80"
|
- "1337:80"
|
||||||
#depends_on:
|
|
||||||
# - redis
|
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_NAME=konova
|
- POSTGRES_NAME=konova
|
||||||
- POSTGRES_PORT=5432
|
- POSTGRES_PORT=5432
|
||||||
@ -37,22 +26,9 @@ services:
|
|||||||
- SMTP_PORT=25
|
- SMTP_PORT=25
|
||||||
- SMTP_REAL_REPLY_MAIL=ksp-servicestelle@sgdnord.rlp.de
|
- SMTP_REAL_REPLY_MAIL=ksp-servicestelle@sgdnord.rlp.de
|
||||||
|
|
||||||
#nginx:
|
|
||||||
# build: ./nginx
|
|
||||||
# container_name: "konova-nginx-server"
|
|
||||||
# ports:
|
|
||||||
# - "1337:80"
|
|
||||||
# depends_on:
|
|
||||||
# - konova
|
|
||||||
# volumes:
|
|
||||||
# - static_file_volume:/konova/static # Point to the volume for static files. Shared with konova service
|
|
||||||
|
|
||||||
# Instead of an own, new network, we need to connect to the existing one, which is provided by the postgis container
|
# 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
|
# NOTE: THIS NETWORK MUST EXIST
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
external:
|
external:
|
||||||
name: postgis_nat_it_backend
|
name: postgis_nat_it_backend
|
||||||
|
|
||||||
volumes:
|
|
||||||
static_file_volume:
|
|
7
docker-entrypoint.sh
Executable file
7
docker-entrypoint.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Start all needed services inside the container!
|
||||||
|
|
||||||
|
service nginx start
|
||||||
|
service redis-server start
|
||||||
|
celery -A konova worker --detach
|
||||||
|
gunicorn konova.wsgi:application --bind 0.0.0.0:8000
|
@ -1,4 +0,0 @@
|
|||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
RUN rm /etc/nginx/conf.d/default.conf
|
|
||||||
COPY nginx.conf /etc/nginx/conf.d
|
|
Loading…
Reference in New Issue
Block a user