Files
peardock/deploy/peardock.service
T
Raven Scott 6d6c30f204
Release rolling / release (push) Successful in 9m49s
Load server identity from install dir, not shell CWD.
Resolve PEARDOCK_HOME / binary path /opt/peardock for .env so manual
sudo -u peardock runs no longer hit EACCES on a relative home-dir .env.
2026-07-16 06:01:20 -04:00

52 lines
1.7 KiB
Desktop File

[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