Open-source database schema comparison and migration tool with multi-database support.
3.2K
FoxSchema is an open-source database schema comparison, migration, and deployment tool.
Compare a source database against a target, review schema differences, generate dialect-native migration SQL, and deploy changes from one interface.
Supports multiple SQL database engines and can run as a Docker container, CLI, desktop app, or self-hosted web application.
npm install -g foxschema
Supports arm64 and x64.
brew tap tedious-code/foxschema https://github.com/tedious-code/foxschema
brew trust tedious-code/foxschema &&
brew install foxschema
winget install OpenJS.NodeJS.LTS &&
npm install -g foxschema
No .env file is required for the default setup.
FoxSchema automatically creates an encryption key and stores application data in /data.
docker pull 5nickels/foxschema:latest
docker run -d \
--name foxschema \
-p 3001:3001 \
-v foxschema_data:/data \
5nickels/foxschema:latest
Open:
http://localhost:3001
Keep the same
/datavolume across container recreations and restarts. FoxSchema stores its metadata and encryption key there, allowing saved database connections to remain decryptable.
| Tag | Description |
|---|---|
latest | Standard multi-architecture image supporting all available dialects |
FoxSchema is designed to work immediately after starting the container.
3001/data.env required for the default deployment| Variable | Default | Description |
|---|---|---|
APP_ENCRYPTION_KEY | Auto-generated | Encryption key used to protect stored connection credentials. Generate your own with openssl rand -hex 32 if required. |
PORT | 3001 | Application listen port |
API_PORT | 3001 | API listen port |
LOCAL_SINGLE_USER | true | Enables local single-user mode |
AUTH_REQUIRED | false | Enable authentication when running FoxSchema in multi-user mode |
APP_DB_ENGINE | sqlite | Metadata database engine. Can also use postgres or mysql |
APP_DB_URL | — | Connection URL when using PostgreSQL or MySQL as the metadata store |
For production environments, you can explicitly configure an encryption key:
openssl rand -hex 32
Then start FoxSchema:
docker run -d \
--name foxschema \
-p 3001:3001 \
-v foxschema_data:/data \
-e APP_ENCRYPTION_KEY="YOUR_GENERATED_KEY" \
5nickels/foxschema:latest
See FoxSchema in action:
Connect → Compare → Review differences → Generate migration SQL → Execute → History
Video:
https://github.com/tedious-code/foxschema/raw/main/docs/demo/foxschema-demo.mp4
FoxSchema is useful for:
FoxSchema is free and open source under the Apache License 2.0.
https://github.com/tedious-code/foxschema/blob/main/LICENSE
Content type
Image
Digest
sha256:1bddae67a…
Size
392.6 MB
Last updated
about 17 hours ago
docker pull 5nickels/foxschema