services: remnawave-nginx: image: nginx:1.26 container_name: remnawave-nginx hostname: remnawave-nginx restart: always volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./certs/certchain.pem:/etc/nginx/ssl/site/fullchain.pem:ro - ./certs/key.pem:/etc/nginx/ssl/site/privkey.pem:ro - /dev/shm:/dev/shm:rw - ./site:/var/www/html:ro command: sh -c 'rm -f /dev/shm/nginx.sock && nginx -g "daemon off;"' network_mode: host depends_on: - remnanode healthcheck: test: [ "CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1/ || exit 1" ] interval: 10s timeout: 5s retries: 12 start_period: 10s logging: driver: 'json-file' options: max-size: '30m' max-file: '5' remnanode: image: remnawave/node:latest container_name: remnanode hostname: remnanode restart: always network_mode: host env_file: - path: /opt/remnawave/.env-node volumes: - /dev/shm:/dev/shm:rw - ./logs:/var/log/remnanode ulimits: nofile: soft: 1048576 hard: 1048576 cap_add: - NET_ADMIN logging: driver: 'json-file' options: max-size: '30m' max-file: '5' certwardenclient: image: ghcr.io/gregtwallace/certwarden-client:latest container_name: certwardenclient hostname: certwardenclient restart: always network_mode: host env_file: - .env-node volumes: - ./certs:/opt/certwarden/certs - /var/run/docker.sock:/var/run/docker.sock logging: driver: 'json-file' options: max-size: '30m' max-file: '5'