DigitalOcean Spaces
Use DigitalOcean Spaces as storage backend for Parseable
Configure DigitalOcean Spaces as the storage backend for Parseable.
Overview
Using DigitalOcean Spaces with Parseable provides:
- S3 Compatible - Works with S3-compatible tools
- Cost Effective - Simple, predictable pricing
- CDN Included - Built-in content delivery
- Easy Setup - Simple configuration
Prerequisites
- DigitalOcean account
- Spaces bucket created
- Spaces access keys
- Parseable instance
Parseable Configuration
Environment Variables
# DigitalOcean Spaces Configuration
P_S3_URL=https://nyc3.digitaloceanspaces.com
P_S3_BUCKET=parseable-data
P_S3_REGION=nyc3
P_S3_ACCESS_KEY=your-spaces-key
P_S3_SECRET_KEY=your-spaces-secretDocker Compose
version: '3.8'
services:
parseable:
image: parseable/parseable:latest
ports:
- "8000:8000"
environment:
- P_S3_URL=https://nyc3.digitaloceanspaces.com
- P_S3_BUCKET=parseable-data
- P_S3_REGION=nyc3
- P_S3_ACCESS_KEY=${DO_SPACES_KEY}
- P_S3_SECRET_KEY=${DO_SPACES_SECRET}
- P_USERNAME=admin
- P_PASSWORD=admin
command: ["parseable", "s3-store"]Spaces Setup
Create Space
- Go to Spaces in DigitalOcean console
- Click Create a Space
- Choose datacenter region
- Name your Space (e.g.,
parseable-data) - Choose file listing permissions
- Click Create a Space
Generate Access Keys
- Go to API → Spaces Keys
- Click Generate New Key
- Name your key
- Copy the Key and Secret
Available Regions
| Region | Endpoint |
|---|---|
| NYC3 | https://nyc3.digitaloceanspaces.com |
| SFO3 | https://sfo3.digitaloceanspaces.com |
| AMS3 | https://ams3.digitaloceanspaces.com |
| SGP1 | https://sgp1.digitaloceanspaces.com |
| FRA1 | https://fra1.digitaloceanspaces.com |
Configuration Options
| Parameter | Description |
|---|---|
P_S3_URL | Spaces endpoint URL |
P_S3_BUCKET | Space name |
P_S3_REGION | Datacenter region |
P_S3_ACCESS_KEY | Spaces access key |
P_S3_SECRET_KEY | Spaces secret key |
Lifecycle Rules
Configure lifecycle rules via s3cmd or API:
# Install s3cmd
pip install s3cmd
# Configure s3cmd
s3cmd --configure
# Set lifecycle policy
s3cmd setlifecycle lifecycle.xml s3://parseable-dataLifecycle XML
<LifecycleConfiguration>
<Rule>
<ID>MoveToInfrequentAccess</ID>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>GLACIER</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>Best Practices
- Choose Nearest Region - Reduce latency
- Enable CDN - For read-heavy workloads
- Use CORS - If accessing from browsers
- Monitor Usage - Track storage and bandwidth
- Secure Keys - Use environment variables
Troubleshooting
Access Denied
- Verify access keys are correct
- Check Space permissions
- Verify endpoint URL matches region
- Check key hasn't been revoked
Connection Issues
- Verify network connectivity
- Check firewall rules
- Verify endpoint URL format
Next Steps
- Set up alerts for storage metrics
- Create dashboards for monitoring
- Configure AWS S3 as alternative
Was this page helpful?