quad-ops sync #
Synchronizes the Docker Compose files defined in configured repositories with quadlet units on the local system.
Repositories are defined in the quad-ops config file as a list of Repository objects.
repositories:
- name: quad-ops-compose
url: https://github.com/trly/quad-ops-compose.git
target: main
cleanup:
action: Delete
Synopsis #
quad-ops sync [flags]
Options #
-d, --dry-run Perform a dry run without making any changes.
-f, --force Force synchronization even if the repository has not changed.
-h, --help help for sync
-r, --repo string Synchronize a single, named, repository.
Global Options #
--config string Path to the configuration file
-o, --output string Output format (text, json, yaml) (default "text")
--quadlet-dir string Path to the quadlet directory
--repository-dir string Path to the repository directory
-u, --user Run in user mode
-v, --verbose Enable verbose logging
Description #
The sync command is the core operation of Quad-Ops. It performs a complete synchronization cycle:
- Repository Updates - Clone new repositories or pull latest changes
- File Discovery - Scan for Docker Compose files in configured locations
- Conversion - Generate Podman Quadlet units from compose configurations
- Deployment - Load units into systemd and start services
- Cleanup - Remove outdated units that are no longer defined in any repository
This command is safe to run repeatedly and will only make necessary changes.
Examples #
Synchronize all configured repositories #
quad-ops sync
Dry run to see what would be changed #
quad-ops sync --dry-run
Force synchronization of all repositories #
quad-ops sync --force
Synchronize only a specific repository #
quad-ops sync --repo quad-ops-compose
Synchronize with verbose output #
quad-ops sync --verbose
User mode synchronization #
quad-ops sync --user