* 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
21 lines
415 B
Docker
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
|
|
|