Skip to content

Commit

Permalink
Fixes/docker setup (#3183)
Browse files Browse the repository at this point in the history
* Updated Dockerfile base image to bionic

* Added volumes and updated elasticsearch's version

* Removed unnecessary services
  • Loading branch information
dev-tsoni committed Jun 19, 2020
1 parent d5c91d6 commit 8798b62
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 54 deletions.
30 changes: 20 additions & 10 deletions Dockerfile
@@ -1,19 +1,17 @@
# import base image
FROM ubuntu:trusty
FROM ubuntu:bionic

# install system-wide dependencies,
# python3 and the build-time dependencies for c modules
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
python3 python3-dev python3-pip python3-lxml \
build-essential libffi-dev git \
libtiff5-dev libjpeg8-dev zlib1g-dev \
build-essential libffi-dev git locales \
libtiff5-dev libjpeg8-dev zlib1g-dev libmagic-dev \
libfreetype6-dev liblcms2-dev libwebp-dev \
curl libfontconfig nodejs npm nginx \
libxml2-dev libxslt1-dev \
&& echo "\ndaemon off;" >> /etc/nginx/nginx.conf \
&& rm /etc/nginx/sites-enabled/default \
&& ln --symbolic /usr/bin/nodejs /usr/bin/node
&& rm /etc/nginx/sites-enabled/default

# Set the locale
RUN locale-gen en_US.UTF-8
Expand All @@ -26,7 +24,6 @@ WORKDIR /opt/superdesk/
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
COPY ./docker/superdesk_vhost.conf /etc/nginx/sites-enabled/superdesk.conf
COPY ./docker/start.sh /opt/superdesk/start.sh
CMD /opt/superdesk/start.sh

# client ports
EXPOSE 9000
Expand All @@ -41,16 +38,29 @@ EXPOSE 5400
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT "False"
ENV CELERYBEAT_SCHEDULE_FILENAME /tmp/celerybeatschedule.db
ENV TZ Europe/London

RUN python3 -m pip install --upgrade pip setuptools wheel
RUN npm install -g n npm grunt-cli && n lts

# install server dependencies
COPY ./server/requirements.txt /tmp/requirements.txt
RUN cd /tmp && python3 -m pip install -U -r /tmp/requirements.txt

# install client dependencies
COPY ./client/package.json ./client/
RUN cd ./client && npm install

# install server
COPY ./server /opt/superdesk
RUN pip3 install -U -r requirements.txt

# install client
COPY ./client /opt/superdesk/client/
RUN npm install -g n npm grunt-cli && n lts
RUN cd ./client && npm install && grunt build

RUN cd ./client && grunt build

# copy git revision informations (used in "about" screen)
COPY .git/HEAD /opt/superdesk/.git/
COPY .git/refs/ /opt/superdesk/.git/refs/

CMD /opt/superdesk/start.sh
20 changes: 19 additions & 1 deletion docker/common.yml
@@ -1,14 +1,32 @@
mongodb:
image: mongo:3
container_name: mongodb
volumes:
- ../data/mongodb:/data/db

redis:
image: redis:3
container_name: redis
volumes:
- ../data/redis:/data

elastic:
image: elasticsearch:2
image: elasticsearch:7.7.1
container_name: elastic
environment:
- xpack.security.enabled=false
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- ../data/elastic:/usr/share/elasticsearch/data

postfix:
image: catatnight/postfix
Expand Down
48 changes: 5 additions & 43 deletions docker/docker-compose-dev.yml
@@ -1,10 +1,3 @@
logstash:
extends:
file: common.yml
service: logstash
links:
- elastic

mongodb:
extends:
file: common.yml
Expand All @@ -16,15 +9,8 @@ redis:
extends:
file: common.yml
service: redis

kibana:
extends:
file: common.yml
service: kibana
links:
- elastic
ports:
- "5601:5601"
- "6379:6379"

elastic:
extends:
Expand All @@ -33,11 +19,6 @@ elastic:
ports:
- "9200:9200"

postfix:
extends:
file: common.yml
service: postfix

superdesk:
extends:
file: common.yml
Expand All @@ -46,14 +27,15 @@ superdesk:
- mongodb
- redis
- elastic
- logstash
- postfix
- pubapi
environment:
- SUPERDESK_RELOAD=True
- SUPERDESK_URL=http://localhost:5000/api
- SUPERDESK_WS_URL=ws://localhost:5050
- SUPERDESK_CLIENT_URL=http://localhost:9000
- MONGO_URI=mongodb://mongodb/superdesk
- PUBLICAPI_MONGO_URI=mongodb://mongodb/superdesk_pa
- LEGAL_ARCHIVE_URI=mongodb://mongodb/superdesk_la
- ARCHIVED_URI=mongodb://mongodb/superdesk_ar
ports:
- "5000:5000"
- "5100:5100"
Expand All @@ -66,23 +48,3 @@ superdesk:
- ../client-core:/opt/superdesk/client-core/
- ./Procfile-dev:/opt/superdesk/Procfile
- ./start-dev.sh:/opt/superdesk/start.sh

pubapi:
extends:
file: common.yml
service: pubapi
links:
- mongodb
- redis
- elastic
- logstash
- postfix
environment:
- SUPERDESK_RELOAD=True
- SUPERDESK_URL=http://localhost:5000/api
- SUPERDESK_CLIENT_URL=http://localhost:9000
volumes:
- ../superdesk-content-api:/opt/superdesk-content-api/
#- ./Procfile:/opt/superdesk/Procfile
ports:
- "5050:5050"

0 comments on commit 8798b62

Please sign in to comment.