Container Images
Transfer container images directly to your VPS without a registry. slipp handles runtime detection (Docker/Podman) automatically.
Push Images
Section titled “Push Images”Transfer a local image to your VPS:
slipp image push myapp:latestThis:
- Exports the image locally
- Streams it over SSH
- Loads it on the VPS
Rename on push
Section titled “Rename on push”slipp image push myapp:v1.2.3 --name myapp:latestUseful for promoting versions without rebuilding.
Target specific host
Section titled “Target specific host”slipp image push myapp:latest --host myprojectList Images
Section titled “List Images”View images on your VPS:
slipp images listOutput:
image size createdmyapp:latest 245MB 2 hours agomyapp:v1.2.3 245MB 3 days agopostgres:15 379MB 2 weeks agoFilter by pattern
Section titled “Filter by pattern”slipp images list --filter "myapp*"Workflow
Section titled “Workflow”-
Build locally
Terminal window docker build -t myapp:v1.2.3 .# orpodman build -t myapp:v1.2.3 . -
Push to VPS
Terminal window slipp image push myapp:v1.2.3 -
Update deployment
Edit your compose or vars file to use the new tag.
-
Redeploy
Terminal window slipp deploy
Runtime Detection
Section titled “Runtime Detection”slipp automatically detects the container runtime:
| Location | Detection |
|---|---|
| Local | Checks if image exists in Podman, then Docker |
| Remote | Reads from slipp.yaml or detects from playbook |
Registry Authentication
Section titled “Registry Authentication”For pulling images from registries on your VPS:
GitHub Container Registry
Section titled “GitHub Container Registry”slipp bootstrap registry ghcr --user myuserUses GITHUB_TOKEN env var or prompts for token.
Docker Hub
Section titled “Docker Hub”slipp bootstrap registry dockerhub --user myuserUses DOCKER_TOKEN env var or prompts for token.
Use Cases
Section titled “Use Cases”Development iteration
Section titled “Development iteration”Push local changes without CI/CD:
# Build with changesdocker build -t myapp:dev .
# Push and restartslipp image push myapp:devslipp exec "docker compose restart myapp"Rollback
Section titled “Rollback”Keep multiple versions, rollback by tag:
slipp images list --filter "myapp*"# Shows: myapp:v1.2.3, myapp:v1.2.2, myapp:v1.2.1
# Update compose to use v1.2.2slipp deployAir-gapped environments
Section titled “Air-gapped environments”No registry needed - direct SSH transfer:
slipp image push myapp:latest --host isolated-server