services: pasture_one_actor: image: pasture-sandcastles build: dockerfile: ./pasture.Dockerfile volumes: - ./volumes/pasture:/opt command: python -m fediverse_pasture.one_actor --port 80 --assets assets networks: pasture: pasture_runner: image: pasture-sandcastles build: dockerfile: ./pasture.Dockerfile volumes: - ./volumes/pasture:/opt working_dir: /work depends_on: - pasture_one_actor command: /bin/sh stdin_open: true tty: true networks: pasture: pasture_http_signature: image: pasture-sandcastles build: dockerfile: ./pasture.Dockerfile volumes: - ./volumes/pasture:/opt command: python -m fediverse_pasture.http_signature --port 80 networks: pasture: pasture_verify_actor: container_name: actor.pasture.castle labels: - traefik.http.routers.pasture.rule=Host(`actor.pasture.castle`) - traefik.http.routers.pasture.tls=true - traefik.http.routers.pasture.tls.certresolver=smallstep - traefik.port=80 - traefik.enable=true image: pasture-sandcastles build: dockerfile: ./pasture.Dockerfile volumes: - ./volumes/pasture:/opt command: python -m fediverse_pasture.verify_actor --port 80 --domain pasture_verify_actor expose: - 80 networks: pasture: fediverse: proxy: networks: default: aliases: - actor.pasture.castle fediverse: aliases: - actor.pasture.castle networks: pasture: internal: true