Docker¶
The published image includes all extras (mysql, mongodb, sentry) and runs as a non-root user (uid 1000).
Image¶
| Tag | When it is published |
|---|---|
latest |
Push to main, and git tags vX.Y.Z |
0.1.5, 0.1, 0 |
Git tags vX.Y.Z |
dev |
Push to dev |
sha-<git sha> |
Every successful image build |
Pull the latest release:
Images are built for linux/amd64 and linux/arm64.
Optional Docker Hub publishing is described in Publishing.
Compose (production)¶
services:
meilisync:
image: ghcr.io/astrum-studio/meilisync:latest
restart: unless-stopped
volumes:
- ./config.yml:/app/config.yml:ro
- ./data:/app/data
Point progress.path at a file inside /app/data so it survives recreates:
The image runs as uid 1000. A bind-mounted ./data must be writable by that user:
Compose (build locally)¶
services:
meilisync:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
volumes:
- ./config.yml:/app/config.yml:ro
- ./data:/app/data
The repository ships docker-compose.yml (image) and docker-compose.dev.yml (local build).
Config path¶
The process working directory is /app. meilisync start looks for /app/config.yml unless you override the command:
Environment¶
The image does not take database credentials from environment variables. Put them in config.yml (and keep that file out of git).