Docker Images
Deploy any Docker image to Basepod.
Quick Deploy
bash
bp create myapp
bp deploy myapp --image nginx:latestFrom Docker Hub
bash
# Official images
bp deploy myapp --image postgres:16
bp deploy myapp --image redis:7-alpine
bp deploy myapp --image node:20-slim
# Community images
bp deploy myapp --image linuxserver/plexFrom Other Registries
GitHub Container Registry
bash
bp deploy myapp --image ghcr.io/username/image:tagGoogle Container Registry
bash
bp deploy myapp --image gcr.io/project/image:tagPrivate Registries
Configure credentials in server settings, then:
bash
bp deploy myapp --image registry.example.com/image:tagImage Tags
Specific Versions
bash
bp deploy myapp --image nginx:1.25.3
bp deploy myapp --image postgres:16.2Latest
bash
bp deploy myapp --image nginx:latestAlpine Variants (smaller)
bash
bp deploy myapp --image nginx:alpine
bp deploy myapp --image node:20-alpineEnvironment Variables
Pass environment variables during deployment:
bash
bp deploy myapp --image postgres:16 \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=secret \
-e POSTGRES_DB=mydbOr in basepod.yaml:
yaml
name: myapp
image: postgres:16
env:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydbVolumes
Persist data with volumes:
yaml
name: myapp
image: postgres:16
volumes:
- pgdata:/var/lib/postgresql/dataPort Mapping
Specify the container port:
bash
bp deploy myapp --image myimage --port 8080Or in config:
yaml
name: myapp
image: myimage
port: 8080Resource Limits
Set memory and CPU limits:
yaml
name: myapp
image: myimage
resources:
memory: 512m
cpus: 1.0Updating Images
Pull the latest version and restart:
bash
bp deploy myapp --image nginx:latestOr with a new tag:
bash
bp deploy myapp --image nginx:1.26