79 lines
3.1 KiB
Docker
79 lines
3.1 KiB
Docker
#
|
|
# 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 && \
|
|
service postgresql start && service redis-server start && \
|
|
perl -pi -e 's/0\.22\.0/0.22.2/' /cartodb/app/models/user/db_service.rb && \
|
|
bash -l -c "cd /cartodb && bash script/create_dev_user && \
|
|
bash script/setup_organization.sh && bash script/geocoder.sh" && \
|
|
service postgresql stop && service redis-server stop && \
|
|
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
|
|
|
|
|