This application is still very early in its development and may include a variety of bugs, constraints and other issues (in fact it is my first Rust application) - USE WITH EXTREME CAUTION
A simple self-hosted end-to-end encrypted text and file sharing service.
| Upload | Document | Administration |
|---|---|---|
![]() |
![]() |
![]() |
safe_house ships as a self-contained single executable and will listen to HTTP requests on
port 8000 by default.
There are multiple supported methods of deployment:
./safe_housedocker run -p 8000:8000 -v /my/path:/app/data ghcr.io/dotstart/safe_house:latestThe following tags are made available:
latest- latest release (if any)unstable- most recent changes
By default, safe_house will attempt to load safe_house.toml within the current working
directory. If no such file can be found, safe defaults are assumed. Additionally, configuration
parameters may be set through environment variables prefixed by SAFEHOUSE_.
Refer to the example configuration file for information on the available options as well as their environment variable versions.
Additionally, safe_house currently permits the direct configuration of its underlying web framework
rocket through rocket.toml or, alternatively, environment variables prefixed
by ROCKET_. Refer to the official documentation for
more information.
safe_house may be built via cargo just like any other rust application. Please note, however, that
by default, the web UI is excluded from the build in order to simplify development.
To run the application in development mode, you may use the following command:
cargo run --package safe_house --bin safe_house --profile devequally, the web UI may be served using npm from its project directory using the following
command:
npm run devIf you wish to build a full executable (including its UI), you will first have to build the web UI
from its directory using npm:
npm run buildand then build the self-contained executable using cargo:
cargo build --features ui --package safe_house --bin safe_house --profile releaseThe resulting executables may be found in the target/release directory (or target/dev when
using the dev profile).
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
A full version of the license is included within this repository.


