You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.8 KiB

#
# Cartodb container
# ubuntu:18.04
#
FROM sverhoeven/cartodb
LABEL maintainer="spacen onenetcom <kuaidian@spacen.net>"
# Configuring locales
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ADD ./fonts/SourceHanSansCN-Light.otf /usr/share/fonts/SourceHanSansCN-Light.otf
ADD ./fonts/SourceHanSerifCN-Regular.otf /usr/share/fonts/SourceHanSerifCN-Regular.otf
ADD ./fonts/SourceHanSansCN-Regular.otf /usr/share/fonts/SourceHanSansCN-Regular.otf
RUN apt-get install -y nano net-tools ca-certificates
RUN rm -rf /cartodb
RUN git clone https://git.kongjian.xin:8443/cartodb/cartodb-4.29.git cartodb && \
cd cartodb && \
npm install
RUN cd cartodb && bundle exec grunt
# rm -r /tmp/npm-* /root/.npm && \
# perl -pi -e 's/gdal==1\.10\.0/gdal==2.2.2/' python_requirements.txt && \
# pip install --no-binary :all: -r python_requirements.txt && \
# gem install bundler --version=1.17.3 && gem install compass archive-tar-minitar rack && \
# bundle update thin && \
# /bin/bash -l -c 'bundle install' && \
# cp config/grunt_development.json ./config/grunt_true.json && \
# /bin/bash -l -c 'bundle exec grunt'
# && \
#rm -rf .git /root/.cache/pip node_modules
# Copy confs
ADD ./config/CartoDB-dev.js \
/CartoDB-SQL-API/config/environments/development.js
ADD ./config/WS-dev.js \
/Windshaft-cartodb/config/environments/development.js
ADD ./config/app_config.yml /cartodb/config/app_config.yml
ADD ./config/database.yml /cartodb/config/database.yml
ADD ./create_dev_user /cartodb/script/create_dev_user
ADD ./setup_organization.sh /cartodb/script/setup_organization.sh
ADD ./config/cartodb.nginx.proxy.conf /etc/nginx/nginx.conf
ADD ./config/varnish.vcl /etc/varnish.vcl
ADD ./geocoder.sh /cartodb/script/geocoder.sh
ADD ./geocoder_server.sql /cartodb/script/geocoder_server.sql
ADD ./fill_geocoder.sh /cartodb/script/fill_geocoder.sh
ADD ./sync_tables_trigger.sh /cartodb/script/sync_tables_trigger.sh
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN mkdir -p /cartodb/log && touch /cartodb/log/users_modifications && \
/opt/varnish/sbin/varnishd -a :6081 -T localhost:6082 -s malloc,256m -f /etc/varnish.vcl && \
perl -pi.bak -e 's/^bind 127.0.0.1 ::1$/bind 0.0.0.0/' /etc/redis/redis.conf && \
chmod +x /cartodb/script/fill_geocoder.sh && \
chmod +x /cartodb/script/sync_tables_trigger.sh
EXPOSE 80
ENV GDAL_DATA /usr/share/gdal/2.2
# Number of seconds between a sync tables task is run
# Default interval is an hour, use `docker run -e SYNC_TABLES_INTERVAL=60 ...` to change it
ENV SYNC_TABLES_INTERVAL 3600
ADD ./startup.sh /opt/startup.sh
CMD ["/bin/bash", "/opt/startup.sh"]
HEALTHCHECK CMD curl -f http://localhost || exit 1