Self-hosted climate transparency for enterprises
This guide explains how to use Podman (a Docker-compatible alternative) with OpenEco.
Podman is a daemonless, rootless container engine that’s fully compatible with Docker commands. It’s:
docker with podman)| Feature | Docker | Podman |
|---|---|---|
| Cost | Free for personal use | Free (fully open-source) |
| Daemon | Requires daemon | No daemon needed |
| Root | Often requires root | Rootless by default |
| Compatibility | Industry standard | Docker-compatible |
| Best for | General use, Docker Desktop users | Linux servers, security-focused setups |
Note: Docker Desktop is free for personal use, small businesses, and education. For most development work, both are free.
sudo dnf install podman podman-compose
sudo apt-get update
sudo apt-get install podman podman-compose
brew install podman
# Install via WSL2, then use podman commands
# Or use Podman Desktop for Windows
Simply replace docker with podman in all commands:
| Docker Command | Podman Equivalent |
|---|---|
docker build |
podman build |
docker run |
podman run |
docker ps |
podman ps |
docker-compose |
podman-compose |
docker exec |
podman exec |
docker logs |
podman logs |
cd web
podman build -t openeco-web:local -f Containerfile .
cd deploy/pterodactyl
podman-compose -f docker-compose.demo.yml up -d
podman-compose -f docker-compose.demo.yml exec web npx prisma generate
podman-compose -f docker-compose.demo.yml exec web npx prisma db push
podman-compose -f docker-compose.demo.yml logs -f web
podman-compose -f docker-compose.demo.yml down
Podman runs containers as your user by default (no sudo needed):
# No sudo required!
podman build -t openeco-web:local -f Containerfile .
podman run -d openeco-web:local
If you need a Linux VM (similar to Docker Desktop):
# Create a podman machine
podman machine init
# Start the machine
podman machine start
# Now use podman commands normally
If you get port binding errors, check what’s using the port:
# Linux
sudo netstat -tulpn | grep 3000
# Or use podman's port check
podman port <container-name>
Podman is rootless by default, but if you have issues:
# Check podman info
podman info
# If needed, configure subuid/subgid (usually automatic)
Install podman-compose:
# Linux
sudo dnf install podman-compose # Fedora/RHEL
sudo apt-get install podman-compose # Ubuntu/Debian
# Or use pip
pip3 install podman-compose
Use Podman if:
Use Docker if:
Podman is fully compatible with:
podman-compose)You can even use Docker and Podman on the same system - they won’t conflict!