💡Note
We publish our sql-over-http images to a private repository on Docker Hub
You can create your own (free) account at https://hub.docker.com/ and send us the Docker ID for that account. Alternatively, if you already have an appropriate account, you can send your Docker ID to support@tines.com
We'll then grant your user access to the appropriate repositories.
Here's an example of using docker-compose to quickly get the service up and running:
**> ls**
docker-compose.yml your-ssl-cert.crt your-ssl-cert.key
**> cat docker-compose.yml**
version: "2.2"
services:
sql-over-http:
container_name: sql-over-http
image: tines/sql-over-http:latest
volumes:
- ./your-ssl-cert.crt:/ssl/tls.crt
- ./your-ssl-cert.key:/ssl/tls.key
ports:
- "80:80"
- "443:443"
environment:
API_KEY: "your-secret-api-key"
DISABLE_POSTGRESQL_QUERIES: "false"
**> docker login**
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: your-docker-id
Password:
Login Succeeded
**> docker-compose pull**
Pulling sql-over-http ... done
**> docker-compose up -d**
Starting sql-over-http ... done
**> curl --insecure -X POST \
-H "X-API-Key: your-secret-api-key" \
-H "Content-Type: application/json" \
https://localhost/postgresql/query \
-d '{"your": "request here"}'**
The docker-compose.yml file:
version: "2.2"
services:
sql-over-http:
container_name: sql-over-http
image: tines/sql-over-http:latest
volumes:
- ./your-ssl-cert.crt:/ssl/tls.crt
- ./your-ssl-cert.key:/ssl/tls.key
ports:
- "80:80"
- "443:443"
environment:
API_KEY: "your-secret-api-key"
DISABLE_POSTGRESQL_QUERIES: "false"
You will need to separately get your own .crt and .key files for a SSL cert corresponding to the hostname you'll be be making sql-over-http available from.
You can disable queries to Postgres databases by setting the DISABLE_POSTGRESQL_QUERIES enviromnent variable to "true"
Here's a simple one liner to generate an insecure self-signed cert for quick testing:
openssl req -x509 -out your-ssl-cert.crt -keyout your-ssl-cert.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")