Local Deployment
Get Safebucket running locally in minutes using Docker Compose. This guide will walk you through setting up a complete development environment.
Prerequisites
- Docker and Docker Compose
- Git for cloning the repository
- At least 1GB RAM available for containers
Quick Start
-
Clone the repository:
git clone https://github.com/safebucket/safebucket
cd safebucket/deployments/local -
Start the services:
docker compose up -d -
Verify the deployment:
docker compose ps
Services Overview
The local deployment includes the following services:
| Service | Port | Purpose |
|---|---|---|
| Safebucket | 8080 | Main application (API + Web) |
| PostgreSQL | 5432 | Main database |
| RustFS API | 9000 | Object storage API |
| Valkey | 6379 | Caching layer |
| NATS | 4222 | Event streaming |
| Loki | 3100 | Activity logging |
| Mailpit Web | 8025, 1025 | Email testing (Web UI + SMTP) |
Default Credentials
Application
- Admin Email: [email protected]
- Admin Password: ChangeMePlease
Infrastructure
-
RustFS Storage:
- Endpoint: http://localhost:9000
- Access Key: rustfsadmin
- Secret Key: rustfsadmin
- Bucket: safebucket
-
Database:
- Host: localhost:5432
- Username: safebucket-user
- Password: safebucket-password
- Database: safebucket
-
Valkey:
- Host: localhost:6379
- Password: safebucket-password
-
Mailpit (Email Testing):
- Web UI: http://localhost:8025
- SMTP: localhost:1025 (no auth)
Accessing Services
RustFS Storage
RustFS provides S3-compatible storage. To manage buckets and files directly, you can use:
AWS CLI:
# Configure AWS CLI with RustFS credentials
aws configure --profile rustfs
# Access Key: rustfsadmin
# Secret Key: rustfsadmin
# Region: us-east-1
# Output: json
# List files in the safebucket bucket
aws --profile rustfs --endpoint-url http://localhost:9000 s3 ls s3://safebucket
# Upload a file
aws --profile rustfs --endpoint-url http://localhost:9000 s3 cp myfile.txt s3://safebucket/
S3 Browser Tools:
- Use any S3-compatible client (Cyberduck, S3 Browser, etc.)
- Configure with endpoint
http://localhost:9000and the credentials above
Mailpit (Email Testing)
View all emails sent by Safebucket:
- Open http://localhost:8025 in your browser
- Perform actions that trigger emails (user invites, password resets, sharing notifications)
- View captured emails in the Mailpit web interface
Configuration Files
The local deployment uses these configuration files:
.env: Environment variables for Docker Composedocker-compose.yml: Service definitionsconfig/loki.yaml: Loki configuration for logging