services: envoy: image: envoyproxy/envoy:v1.30.10 command: ["-c", "/etc/envoy/envoy.yaml", "--log-level", "info"] ports: - 8084:80 depends_on: - varnish volumes: - ./envoy/envoy.yaml:/etc/envoy/envoy.yaml:ro networks: [edge, internal] varnish: image: varnish:7 command: - "-a" - ":6081" - "-f" - "/etc/varnish/default.vcl" - "-s" - "malloc,1024m" - "-p" - "http_resp_hdr_len=64k" - "-p" - "http_resp_size=64k" volumes: - ./varnish/default.vcl:/etc/varnish/default.vcl:ro expose: ["6081"] depends_on: [plik] networks: [internal] plik: image: rootgg/plik:latest user: "0:0" volumes: - ./plik/plikd.cfg:/home/plik/server/plikd.cfg:ro - ./data/files:/home/plik/server/files - ./data/meta:/home/plik/server/meta environment: PLIKD_METADATA_BACKEND_CONFIG_CONNECTION_STRING: "/home/plik/server/meta/plik.db" PLIKD_SOURCE_IP_HEADER: "X-Real-IP" expose: - "8080" - "8811" networks: [internal] healthcheck: # Wariant z wget (często dostępny): test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:8080 || exit 1"] interval: 10s timeout: 3s retries: 10 start_period: 10s # Jeśli w obrazie nie ma wget, użyj curl: # test: ["CMD-SHELL", "curl -fsS http://localhost:8080 >/dev/null || exit 1"] networks: edge: driver: bridge internal: driver: bridge