services: cert-gen: image: alpine:latest volumes: - tls-certs:/etc/nginx/ssl command: > sh -c " apk add --no-cache openssl && openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/key.pem -out /etc/nginx/ssl/cert.pem -subj '/CN=localhost' && chmod 644 /etc/nginx/ssl/cert.pem /etc/nginx/ssl/key.pem " nginx: image: nginx:latest depends_on: cert-gen: condition: service_completed_successfully xray-server: condition: service_started volumes: - ./config/nginx.conf:/etc/nginx/conf.d/default.conf:ro - tls-certs:/etc/nginx/ssl:ro xray-server: image: ghcr.io/xtls/xray-core:latest volumes: - ./config/server.json:/etc/xray/config.json:ro command: run -c /etc/xray/config.json xray-client: image: ghcr.io/xtls/xray-core:latest depends_on: - nginx volumes: - ./config/client.json:/etc/xray/config.json:ro ports: - "6543:6543" command: run -c /etc/xray/config.json volumes: tls-certs: