Skip to content

stoxello/SafeDropServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

SafeDrop Server

SafeDrop Server is the relay service for SafeDrop encrypted file transfers. It registers clients, creates transfer tickets, stores encrypted parcels, and lets recipients retrieve their pending files.

The server runs well in Docker and is intended to be deployed behind your normal firewall, reverse proxy, or cloud ingress.

Quick Start With Docker Compose

Create a docker-compose.yml file:

services:
  safedrop-server:
    image: stoxellosupport/safedrop-server:latest
    container_name: safedrop-server
    restart: unless-stopped
    ports:
      - "5133:8080"
    environment:
      ASPNETCORE_URLS: "http://+:8080"
      SafeDrop__Edition: "Production"
      SafeDrop__LicenseKey: "SDROP-9J7R-ME8G-LIVE"
    volumes:
      - safedrop-data:/app/App_Data

volumes:
  safedrop-data:

Start the server:

docker compose up -d

The server will be available at:

http://localhost:5133

Check that it is running:

curl http://localhost:5133/health

Check license status:

curl http://localhost:5133/license

License Key

Production deployments require a SafeDrop license key. Set it with the SafeDrop__LicenseKey environment variable in Docker Compose.

This trial key can be used for initial setup:

SDROP-9J7R-ME8G-LIVE

Example:

environment:
  SafeDrop__Edition: "Production"
  SafeDrop__LicenseKey: "SDROP-9J7R-ME8G-LIVE"

When you receive your permanent LicenseWeb key, replace the trial key and restart the container:

docker compose up -d

SafeDrop validates server licenses through LicenseWeb at https://license.stoxello.com. The server also keeps the last valid license result during the LicenseWeb offline grace period.

Environment File Option

You can keep the license key in a .env file instead of hard-coding it in docker-compose.yml.

Create .env:

SAFEDROP_IMAGE=stoxellosupport/safedrop-server:latest
SAFEDROP_PORT=5133
SAFEDROP_LICENSE_KEY=SDROP-9J7R-ME8G-LIVE

Then use this compose file:

services:
  safedrop-server:
    image: ${SAFEDROP_IMAGE:-stoxellosupport/safedrop-server:latest}
    container_name: safedrop-server
    restart: unless-stopped
    ports:
      - "${SAFEDROP_PORT:-5133}:8080"
    environment:
      ASPNETCORE_URLS: "http://+:8080"
      SafeDrop__Edition: "Production"
      SafeDrop__LicenseKey: "${SAFEDROP_LICENSE_KEY}"
    volumes:
      - safedrop-data:/app/App_Data

volumes:
  safedrop-data:

Start or restart:

docker compose up -d

Persistent Data

The compose examples mount a named Docker volume at:

/app/App_Data

This keeps server data, stored encrypted parcels, and the generated server machine identity across container upgrades.

Updating

Pull the latest image and recreate the container:

docker compose pull
docker compose up -d

Server Endpoints

  • GET /health returns basic readiness information.
  • GET /license returns the current license status.
  • Client registration and transfer endpoints require a valid production license.

Client Configuration

Point SafeDrop desktop clients at the public host and port where this server is reachable. For a local test using the compose file above, use:

http://localhost:5133

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors