mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
- .devcontainer/Dockerfile: add PostgreSQL client libs, OpenSSL/libffi headers, gfortran/BLAS for scipy, rclone; install full Python dependency set (boto3, psycopg2-binary, fastapi, uvicorn, notion-client, httpx, pytest, numpy, scipy, etc.) in uv-managed venv; add rclone S3 gateway init script as ENTRYPOINT - .devcontainer/devcontainer.json: switch from build to pre-built image (localhost/research
36 lines
909 B
Desktop File
36 lines
909 B
Desktop File
[Unit]
|
|
Description=Garage S3 Object Store
|
|
Documentation=https://garagehq.deuxfleurs.fr/documentation/
|
|
After=network-online.target tailscaled.service
|
|
Wants=network-online.target
|
|
# Restart if Tailscale restarts (RPC binds to Tailscale IP)
|
|
BindsTo=tailscaled.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/local/bin/garage -c /etc/garage/garage.toml server
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
|
|
# Security
|
|
User=garage
|
|
Group=garage
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
ProtectSystem=strict
|
|
ReadWritePaths=/var/lib/garage /var/log/garage
|
|
|
|
# Secrets — admin token read from env file, never in the unit itself
|
|
EnvironmentFile=-/etc/garage/garage.env
|
|
|
|
# Restart policy — tolerate brief Tailscale flaps
|
|
Restart=on-failure
|
|
RestartSec=5s
|
|
StartLimitIntervalSec=60s
|
|
StartLimitBurst=5
|
|
|
|
# Resource limits — Garage is a single binary, keep it bounded
|
|
LimitNOFILE=65536
|
|
MemoryMax=512M
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|