mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-02-20 15:43:58 -05:00
- Introduce an Axum-based HTTP server with an embedded daemon and a JSON-RPC proxy to the daemon via a Unix socket - Bundle web UI assets into the server with an assets feature and a build.rs that builds the frontend using pnpm - Add multi-stage Dockerfile, docker-compose.yml, and a Distroless runtime image - Provide TrueNAS deployment support with a build script and setup guide - Add a new web UI (apps/web) with a Vite-based dev/build flow and a web platform shim for the frontend - Implement server logic (apps/server/src/main.rs): health, auth, /rpc proxy and data-dir/socket-path wiring - Include server-specific Cargo.toml and a comprehensive server README - Add architecture and memory-focused docs to guide usage and design - Minor core tweak: simplify location/resource event emission in core/src/location/manager.rs to align with new flow - Tauri app: adjust menus to add an Edit submenu and remove unused items
61 lines
1.3 KiB
YAML
61 lines
1.3 KiB
YAML
services:
|
|
spacedrive:
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/server/Dockerfile
|
|
container_name: spacedrive-server
|
|
restart: unless-stopped
|
|
|
|
# Ports
|
|
ports:
|
|
- "8080:8080" # HTTP server
|
|
- "7373:7373" # P2P networking
|
|
|
|
# Volumes
|
|
volumes:
|
|
- spacedrive-data:/data
|
|
# Optional: Mount your file systems here
|
|
# - /mnt/storage:/storage:ro
|
|
|
|
# Environment variables
|
|
environment:
|
|
# Data directory (inside container)
|
|
- DATA_DIR=/data
|
|
|
|
# HTTP server port
|
|
- PORT=8080
|
|
|
|
# Authentication (REQUIRED for security!)
|
|
# Format: "username:password,username2:password2"
|
|
# Or set to "disabled" to disable auth (NOT RECOMMENDED)
|
|
- SD_AUTH=${SD_AUTH:-admin:changeme}
|
|
|
|
# Enable P2P networking
|
|
- SD_P2P=true
|
|
|
|
# Logging
|
|
- RUST_LOG=info,sd_core=debug
|
|
|
|
# Timezone
|
|
- TZ=UTC
|
|
|
|
# Health check
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
# Resource limits (adjust as needed)
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 2G
|
|
reservations:
|
|
memory: 512M
|
|
|
|
volumes:
|
|
spacedrive-data:
|
|
driver: local
|