A publicly accessible domain name is required. One way to do this is to point your DNS record to an elastic IP attached to the new instance. To do this after launching your instance do the following
-
- Attach Elastic IP to the instance
-
- Set up DNS record to point to Elastic IP. Make sure the DNS is resolving
-
- SSH into your instance ssh ec2-user@ur-domain.com
-
- Use the following init script replacing environment variables
# === INIT SCRIPT ===
# ==== REPLACE THESE with your own ====
export PUBLIC_HOST=cartodb.host
export EMAIL=adm@acme.com
export ORG=acme
# UNAME (username) must be different from ORG (organisation name)
export UNAME=admin
# NOTE: don't have any white space in the password. have at least 6 characters and a mix of letters, number and optionally special non-alpha-numeric charecters.
export PASS=pass123
echo "
ENVIRONMENT=production
PUBLIC_HOST=${PUBLIC_HOST}
PUBLIC_PROTOCOL=https
PUBLIC_PORT=443
CARTO_ORG_NAME=$ORG
CARTO_ORG_USERNAME=$UNAME
CARTO_ORG_EMAIL=${EMAIL}
CARTO_ORG_PASSWORD=${PASS}
" > production.env
IMAGE_TAG=postgresql-13-postgis-3-stable
docker volume create carto-db-${IMAGE_TAG}
docker volume create carto-redis-${IMAGE_TAG}
docker volume create carto-data-${IMAGE_TAG}
docker volume create carto-jupyter-home-${IMAGE_TAG}
docker volume create carto-certs-${IMAGE_TAG}
# start the service
docker run --env-file production.env --name cartodb-rasul -v carto-data-${IMAGE_TAG}:/data -v carto-db-${IMAGE_TAG}:/var/lib/postgresql -v carto-redis-${IMAGE_TAG}:/var/lib/redis -v carto-jupyter-home-${IMAGE_TAG}:/home/sammy -v carto-certs-${IMAGE_TAG}:/etc/letsencrypt/live -p 80:80 -p 443:443 -d sabman/geodb:${IMAGE_TAG} >> userdata.log 2>&1
If you run into problems please contact us at support@getgeodb.com