Epsio Docker Deployment¶
EPSIO PRIVATE PREVIEW
At this time, Epsio running in "standalone docker mode" is only available in private preview.
To get early access, contact us at support@epsio.io
DEVELOPMENT ENVIRONMENTS ONLY
Running Epsio on Docker is recommended only for development environments, not production use.
This guide will walk you through the process of deploying Epsio using Docker.
Before you begin¶
Before proceeding with the deployment guide, ensure that you have the following:
- A prepared database instance (see previous steps in the "getting started" section for more details).
- A Linux/Macbook machine to run epsio on with:
- Network access to your PostgreSQL instance.
docker
installed on it
Run Epsio docker¶
Once finished, run the following command to run the standalone Epsio docker.
ACCOUNT_TOKEN
- Your account's access token which can be retrieved from the cloud console settings page.EPSIO_VERSION
- The version of Epsio (see the changelog for the latest version information).
docker run --name epsio \
-e ACCOUNT_TOKEN='<ACCOUNT_TOKEN>' \
-e DB_HOST='<DB_HOST>' \
-e DB_NAME='<DB_NAME>' \
-e DB_PASSWORD='<EPSIO_USER_PASSWORD>' \
-e DB_PORT=<DB_PORT> \
-e SOURCE_DATABASE_TYPE='<postgres|mysql>' \
us-docker.pkg.dev/epsio-io/public/epsio:<EPSIO_VERSION>
Configuring Multiple Database Sources¶
You can configure multiple database sources by setting the SOURCES
environment variable. This is only available in images supporting the "multi-source" feature.
SOURCES
must be a valid JSON array containing objects with the following keys:
name
: Unique identifier for the source database- this will be used as the catalog name when creating views.type
: Database type ("postgres"
or"mysql"
).host
: Hostname or IP address.port
: Port number.database
: Database name.username
: Username for database authentication.password
: Password for database authentication.
Example:¶
docker run --name epsio \
-e ACCOUNT_TOKEN='<ACCOUNT_TOKEN>' \
-e DB_HOST='<DB_HOST>' \
-e DB_NAME='<DB_NAME>' \
-e DB_PASSWORD='<EPSIO_USER_PASSWORD>' \
-e DB_PORT=<DB_PORT> \
-e SOURCE_DATABASE_TYPE='<postgres|mysql>' \
-e SOURCES='[
{
"name": "analytics",
"type": "postgres",
"host": "my_host",
"port": 5432,
"database": "analytics",
"username": "epsio_user",
"password": "secure_password"
},
{
"name": "sales",
"type": "mysql",
"host": "my_other_host",
"port": 3306,
"database": "sales_data",
"username": "epsio_user",
"password": "another_secure_password"
}
]' \
us-docker.pkg.dev/epsio-io/public/epsio:<EPSIO_VERSION>
You are set to go and can create your first view. Visit the create_view for further details.
Troubleshooting¶
To troubleshoot, first check the docker logs:
If the above don't prove helpful, Run the following commands:
docker exec -it epsio dump-logs -o /tmp/diagnostic_dump
docker cp epsio:/tmp/diagnostic_dump <output file path>
And send the outputed file to Epsio support