browsertrix/backend/Dockerfile
Ilya Kreymer 418c07bf0d
Local swarm + podman support (#261)
* backend: refactor swarm support to also support podman (#260)
- implement podman support as subclass of swarm deployment
- podman is used when 'RUNTIME=podman' env var is set
- podman socket is mapped instead of docker socket
- podman-compose is used instead of docker-compose (though docker-compose works with podman, it does not support secrets, but podman-compose does)
- separate cli utils into SwarmRunner and PodmanRunner which extends it
- using config.yaml and config.env, both copied from sample versions
- work on simplifying config: add docker-compose.podman.yml and docker-compose.swarm.yml and signing and debug configs in ./configs
- add {build,run,stop}-{swarm,podman}.sh in scripts dir
- add init-configs, only copy if configs don't exist
- build local image use current version of podman, to support both podman 3.x and 4.x
- additional fixes for after testing podman on centos
- docs: update Deployment.md to cover swarm, podman, k8s deployment
2022-06-14 00:13:49 -07:00

21 lines
415 B
Docker

ARG PODMAN_VERSION=4
FROM docker.io/mgoltzsche/podman:${PODMAN_VERSION}-remote as podmanremote
FROM python:3.9
WORKDIR /app
ADD requirements.txt /app
RUN pip install -r requirements.txt
RUN python-on-whales download-cli
ADD btrixcloud/ /app/btrixcloud/
COPY --from=podmanremote /usr/local/bin/podman-remote /usr/bin/podman
CMD uvicorn btrixcloud.main:app_root --host 0.0.0.0 --access-log --log-level info