Files
peardock/deploy/peardock.service
T
snxraven 0e097308ce
Rolling release / server / linux-x64 (push) Has been cancelled
Rolling release / client / win32-arm64 (push) Has been cancelled
Rolling release / server / win32-arm64 (push) Has been cancelled
Rolling release / client / win32-x64 (push) Has been cancelled
Rolling release / server / win32-x64 (push) Has been cancelled
Rolling release / Publish rolling release (push) Has been cancelled
Rolling release / client / darwin-arm64 (push) Has been cancelled
Rolling release / server / darwin-arm64 (push) Has been cancelled
Rolling release / client / darwin-x64 (push) Has been cancelled
Rolling release / server / darwin-x64 (push) Has been cancelled
Rolling release / client / linux-arm64 (push) Has been cancelled
Rolling release / server / linux-arm64 (push) Has been cancelled
Rolling release / client / linux-x64 (push) Has been cancelled
CI / test (push) Has been cancelled
Add Bare standalone binaries and Gitea rolling release CI
Package peardock-server and peardock-client with bare-pack + bare-build
--standalone (hello-pear-bare pattern), embedding the full module graph and
native addons. Server uses bare-node-runtime imports plus Docker socket
shims; client is a Bare agent with holesail control. Gitea Actions builds
multi-host artifacts and publishes a rolling release via RELEASE_TOKEN.
2026-07-11 00:19:39 -04:00

46 lines
1.3 KiB
Desktop File

[Unit]
Description=peardock HyperDHT Docker control plane
Documentation=https://github.com/holepunchto/peardock
After=docker.service network-online.target
Wants=network-online.target
Requires=docker.service
[Service]
Type=simple
WorkingDirectory=/opt/peardock
# Prefer the Bare standalone binary (rolling release artifact):
ExecStart=/opt/peardock/peardock-server
# Node fallback (source install):
# ExecStart=/usr/bin/node server/server.js
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
# Health: process must stay up; optional external check via scripts/healthcheck.js
TimeoutStartSec=30
TimeoutStopSec=30
# Security hardening (adjust paths as needed)
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=read-only
ReadWritePaths=/opt/peardock /var/run/docker.sock
# Environment
Environment=NODE_ENV=production
Environment=PEARDOCK_HOME=/opt/peardock
EnvironmentFile=-/opt/peardock/.env
# Example production knobs (uncomment / set in .env):
# Environment=PEARDOCK_DEFAULT_ROLE=operator
# Environment=PEARDOCK_PEER_ALLOWLIST=1
# Environment=PEARDOCK_BROWSE_ROOTS=/var/lib/docker/volumes
# Environment=ENABLE_SWARM=0
# Environment=ENABLE_PLUGINS=0
# Run as a dedicated user with docker group access
User=peardock
Group=docker
[Install]
WantedBy=multi-user.target