docker pull sqitch/sqitch
curl -L https://git.io/fAX6Z -o sqitch && chmod +x sqitch
./sqitch help
This project is the source for creating the official Sqitch Project Docker Image. It's built on stable Debian slim in an effort to keep the image as small as possible while supporting all known engines. It includes support for managing PostgreSQL, SQLite, MariaDB (MySQL), and Firebird databases, and other images may be built to support for the other database engines that Sqitch supports.
- The
docker-sqitch.sh
shell script is the easiest way to run Sqitch from a Docker image. The script mounts the current directory and the home directory, so that it acts on the Sqitch project in the current directory and reads configuration from the home directory almost as if it was running natively on the local host. It also copies over most of the environment variables that Sqitch cares about, for transparent configuration. - By default, the container runs as the
sqitch
user, but when executed byroot
,docker-sqitch.sh
runs the container asroot
. Depending on your permissions, you might need to useroot
in order for sqitch to read and write files. On Windows and macOS, thesqitch
user should be fine. On Linux, if you find that the container cannot access configuration files in your home directory or write change scripts to the local directory, runsudo docker-sqitch.sh
to run as the root user. Just be sure tochown
files that Sqitch created for the consistency of your project. - If your engine falls back on the system username when connecting to the
database (as the PostgreSQL engine does), you will likely want to set the
username in sqitch target URIs, or set the proper environment variables to
fall back on. Database authentication failures for the usernames
sqitch
orroot
are the hint you'll want to look for. - Custom images for Oracle, Snowflake, Exasol, or Vertica can be built
by downloading the appropriate binary files and using the
Dockerfiles
in the appropriately-named subdirectories of this repository. - In an effort to keep things as simple as possible, the only editor included and configured for use in the image is nano. This is a very simple, tiny text editor suitable for editing change descriptions and the like. Its interface always provides menus to make it easy to figure out how to use it. If you need another editor, this image isn't for you, but you can create one based on this image and add whatever editors you like.