Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- docker-compose.yml
- version: '3'
- services:
- db:
- env_file:
- - .env.ci
- image: ${REGISTRY_URL}/mysql:5.7-ci-custom
- environment:
- MYSQL_ROOT_PASSWORD: $DATABASE_ROOT_PASSWORD
- MYSQL_USER: $DATABASE_MASTER_USER
- MYSQL_PASSWORD: $DATABASE_MASTER_PASSWORD
- MYSQL_DATABASE: $DATABASE_MASTER_NAME
- networks:
- - signature
- ports:
- - '${DATABASE_PORT}'
- command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --bind-address="0.0.0.0"
- django:
- depends_on:
- - db
- - redis
- - elasticsearch
- env_file:
- - .env.ci
- build:
- context: .
- dockerfile: docker/backend/Dockerfile.ci
- args:
- PROJECT_DIR: $PROJECT_DIR
- USER: $DJANGO_USER
- USER_GROUP: $DJANGO_USER_GROUP
- USER_PASSWORD: $DJANGO_USER_PASSWORD
- REGISTRY_URL: $REGISTRY_URL
- volumes:
- - ./backend:$PROJECT_DIR/backend
- networks:
- - signature
- command: 'wait-for-it.sh "${DATABASE_MASTER_HOST}:${DATABASE_PORT}" --
- bash -c "flake8 && py.test"'
- redis:
- image: ${REGISTRY_URL}/redis:latest
- networks:
- - signature
- ports:
- - '${REDIS_PORT}'
- elasticsearch:
- image: ${REGISTRY_URL}/elasticsearch:2-custom
- environment:
- - bootstrap.memory_lock=true
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- volumes:
- - esdata:/usr/share/elasticsearch/data
- ulimits:
- memlock:
- soft: -1
- hard: -1
- networks:
- - signature
- ports:
- - '${ELASTICSEARCH_PORT}'
- networks:
- signature:
- driver: bridge
- volumes:
- mysql-data:
- driver: local
- esdata:
- driver: local
- *************************
- Dockerfile
- ARG REGISTRY_URL
- FROM ${REGISTRY_URL}/python:3.6-stretch-custom
- ARG PROJECT_DIR
- ARG USER
- ARG USER_GROUP
- ARG USER_PASSWORD
- RUN useradd -m $USER -p $USER_PASSWORD && \
- groupadd $USER_GROUP && \
- usermod -a -G $USER_GROUP $USER && \
- apt-get update && \
- apt-get install -y --no-install-recommends \
- locales-all gettext netcat && \
- apt-get autoremove -y && \
- apt-get clean
- WORKDIR $PROJECT_DIR/backend
- COPY backend/requirements/*.txt ./requirements/
- RUN pip install pip --upgrade && \
- pip install -r requirements/dev.txt --no-cache-dir
- COPY docker/utils/wait-for-it.sh /usr/local/bin/
- RUN chmod +x /usr/local/bin/wait-for-it.sh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement