I've combined the core nginx.conf with the proxy config, which all goes
into /etc/nginx/nginx.conf.
I've made a number of changes:
* Nginx now proxies both SQL API and Windshaft requests through Varnish.
* Nginx adds a custom HTTP header, X-Carto-Service, so that Varnish can
differentiate between backends (since it can't do so based on incoming
port).
* I've modified the primary Nginx log format to include more information
on how requests are being proxied--you can now see the upstream address
for proxied requests.
* I've added the `proxy_no_cache` and `proxy_cache_bypass` directives to
the Windshaft and SQL API proxy sections. Without those directives,
Nginx may attempt to act as a cache, returning 304 Not Modified for
resources that more accurately should be cached by Varnish (whose cache
is invalidated via a Postgres trigger for updated metadata).
Before, the Dockerfile was installing the latest bundler version, which is only compatible with Ruby >= 2.3.0. I've changed the bundler version to 1.17.3, which requires Ruby >= 1.8.7. Version info here: https://rubygems.org/gems/bundler/versions/1.17.3
Now brower error:
```
error: cdb_dataservices_client._cdb_service_quota_info(2): [cartodb_dev_user_5357a703-8b69-48d4-b114-122e9498aca7_db] REMOTE ERROR: spiexceptions.ExternalRoutineException: cartodb_services.metrics.config.ConfigException: Here maps configuration missing↵ at Connection.parseE (/CartoDB-SQL-API/node_modules/cartodb-psql/node_modules/pg/lib/connection.js:560:11)↵ at Connection.parseMessage (/CartoDB-SQL-API/node_modules/cartodb-psql/node_modules/pg/lib/connection.js:383:17)↵ at Socket.<anonymous> (/CartoDB-SQL-API/node_modules/cartodb-psql/node_modules/pg/lib/connection.js:119:22)↵ at Socket.emit (events.js:95:17)↵ at Socket.<anonymous> (_stream_readable.js:765:14)↵ at Socket.emit (events.js:92:17)↵ at emitReadable_ (_stream_readable.js:427:10)↵ at emitReadable (_stream_readable.js:423:5)↵ at readableAddChunk (_stream_readable.js:166:9)↵ at Socket.Readable.push (_stream_readable.js:128:10)↵ at TCP.onread (net.js:529:21)"
Name
```
When map without geometry is opened.
* Use Varnish 3 from source tarball, newer and OS Varnish could not disable telnet authentication required by Carto
* Remove sources of varnish, gdal, /cartodb/.git when no longer needed in order to make image smaller
* Dropped Nokia and GMAP basemaps, they did not work
* Dropped schema trigger installation, it is no longer needed
* Configure Carto in Python and NodeJS
* Build assets
* Use self as asset_host, assets are hosted by nginx instead of rails
Organization can be used to share maps between members and because members uses same db an remote schema only has to be created once.
A remote schema is a schema from a remote database server which can be made accessable using foreign data wrapper.