Remove the MinIO/S3 storage backend entirely. The filesystem backend is fully implemented, already used in production, and a migrate-storage tool exists for any remaining MinIO deployments to migrate beforehand. Changes: - Delete MinIO client implementation (internal/storage/storage.go) - Delete migrate-storage tool (cmd/migrate-storage, scripts/migrate-storage.sh) - Remove MinIO service, volumes, and env vars from all Docker Compose files - Simplify StorageConfig: remove Endpoint, AccessKey, SecretKey, Bucket, UseSSL, Region fields; add SILO_STORAGE_ROOT_DIR env override - Change all SQL COALESCE defaults from 'minio' to 'filesystem' - Add migration 020 to update column defaults to 'filesystem' - Remove minio-go/v7 dependency (go mod tidy) - Update all config examples, setup scripts, docs, and tests
44 lines
808 B
Desktop File
44 lines
808 B
Desktop File
[Unit]
|
|
Description=Silo Item Database Server
|
|
Documentation=https://github.com/kindred-systems/silo
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=silo
|
|
Group=silo
|
|
|
|
# Working directory (web/dist is served relative to this)
|
|
WorkingDirectory=/opt/silo
|
|
|
|
# Environment file for secrets
|
|
EnvironmentFile=/etc/silo/silod.env
|
|
|
|
# Main process
|
|
ExecStart=/opt/silo/bin/silod -config /etc/silo/config.yaml
|
|
|
|
# Restart policy
|
|
Restart=on-failure
|
|
RestartSec=5s
|
|
|
|
# Security hardening
|
|
NoNewPrivileges=yes
|
|
ProtectSystem=strict
|
|
ProtectHome=yes
|
|
PrivateTmp=yes
|
|
ReadWritePaths=/opt/silo/data
|
|
ReadOnlyPaths=/etc/silo /opt/silo
|
|
|
|
# Resource limits
|
|
LimitNOFILE=65535
|
|
LimitNPROC=4096
|
|
|
|
# Logging
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=silod
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|