[Unit] Description=peardock HyperDHT container control plane Documentation=https://git.ssh.surf/snxraven/peardock After=network-online.target Wants=network-online.target # Soft-depend on Docker and/or Podman (installer rewrites After=/Wants= for the selected engine) Wants=docker.service # Rootful Podman API — uncomment or let install.sh set this when PEARDOCK_ENGINE=podman: # After=podman.socket # Wants=podman.socket [Service] Type=simple WorkingDirectory=/opt/peardock # Standalone Bare binary (install.sh / rolling release) ExecStart=/opt/peardock/peardock-server # Source install alternative: # ExecStart=/usr/bin/node /opt/peardock/server/server.js Restart=on-failure RestartSec=5 TimeoutStartSec=30 TimeoutStopSec=30 NoNewPrivileges=true PrivateTmp=true User=peardock # install.sh sets Group/SupplementaryGroups to the socket group (docker or podman) Group=docker SupplementaryGroups=docker Environment=NODE_ENV=production Environment=PEARDOCK_HOME=/opt/peardock EnvironmentFile=-/opt/peardock/.env # Installer also writes PEARDOCK_ENGINE / DOCKER_HOST into .env and may set: # Environment=PEARDOCK_ENGINE=podman # Environment=DOCKER_HOST=unix:///run/podman/podman.sock # Environment=CONTAINER_HOST=unix:///run/podman/podman.sock # Environment=DOCKER_API_VERSION=v1.41 # # Example production knobs (prefer .env): # Environment=PEARDOCK_DEFAULT_ROLE=operator # Environment=PEARDOCK_PEER_ALLOWLIST=1 # Environment=ENABLE_SWARM=0 # Environment=ENABLE_HOLESAIL=0 # State dir + common engine sockets (Docker + Podman rootful) ReadWritePaths=/opt/peardock /var/run/docker.sock /run/docker.sock /run/podman/podman.sock /var/run/podman/podman.sock [Install] WantedBy=multi-user.target