* 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
42 lines
843 B
YAML
42 lines
843 B
YAML
version: '3.9'
|
|
|
|
services:
|
|
browser:
|
|
image: {{ crawler_image }}
|
|
command:
|
|
- create-login-profile
|
|
- --interactive
|
|
- --filename
|
|
- /tmp/profile.tar.gz
|
|
- --url
|
|
- "{{ url }}"
|
|
{%- if profile_filename %}
|
|
- --profile
|
|
- "@{{ profile_filename }}"
|
|
{%- endif %}
|
|
|
|
|
|
hostname: "browser-{{ id }}-0.browser-{{ id }}"
|
|
networks:
|
|
- btrix
|
|
|
|
deploy:
|
|
endpoint_mode: dnsrr
|
|
replicas: 1
|
|
labels:
|
|
browser: {{ id }}
|
|
role: browser
|
|
|
|
environment:
|
|
- STORE_ENDPOINT_URL={{ storages[storage_name].endpoint_url }}
|
|
- STORE_ACCESS_KEY={{ storages[storage_name].access_key }}
|
|
- STORE_SECRET_KEY={{ storages[storage_name].secret_key }}
|
|
- STORE_PATH={{ storage_path }}
|
|
|
|
|
|
networks:
|
|
btrix:
|
|
external:
|
|
name: btrix-net
|
|
|