Files
plikd_docker/docker-compose.yml
2025-09-25 12:03:15 +02:00

62 lines
1.5 KiB
YAML

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