Skip to content

Commit 754a43d

Browse files
committed
Extended README
1 parent a71f072 commit 754a43d

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

README.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,45 @@ For detailed implementation status of all S3 API features and backend support, s
6060

6161
VOS uses credentials files to securely configure authentication and backend access. See [config.example.yaml](config.example.yaml) for a complete example.
6262

63+
### Environment Variables
64+
65+
All configuration options can be set via environment variables instead of a config file. Environment variables use the `VOS_` prefix and replace dots with underscores:
66+
67+
| Config Key | Environment Variable |
68+
|------------|---------------------|
69+
| `server.host` | `VOS_SERVER_HOST` |
70+
| `server.port` | `VOS_SERVER_PORT` |
71+
| `server.shutdown_timeout` | `VOS_SERVER_SHUTDOWN_TIMEOUT` |
72+
| `logging.level` | `VOS_LOGGING_LEVEL` |
73+
| `logging.format` | `VOS_LOGGING_FORMAT` |
74+
| `auth.enabled` | `VOS_AUTH_ENABLED` |
75+
| `auth.allow_anonymous` | `VOS_AUTH_ALLOW_ANONYMOUS` |
76+
| `auth.region` | `VOS_AUTH_REGION` |
77+
| `auth.credentials_file` | `VOS_AUTH_CREDENTIALS_FILE` |
78+
| `backends.default` | `VOS_BACKENDS_DEFAULT` |
79+
| `backends.aws-s3.region` | `VOS_BACKENDS_AWS_S3_REGION` |
80+
| `backends.aws-s3.credentials_file` | `VOS_BACKENDS_AWS_S3_CREDENTIALS_FILE` |
81+
| `backends.aws-s3.endpoint` | `VOS_BACKENDS_AWS_S3_ENDPOINT` |
82+
| `backends.azblob.credentials_file` | `VOS_BACKENDS_AZBLOB_CREDENTIALS_FILE` |
83+
| `backends.azblob.endpoint` | `VOS_BACKENDS_AZBLOB_ENDPOINT` |
84+
| `backends.gcs.project_id` | `VOS_BACKENDS_GCS_PROJECT_ID` |
85+
| `backends.gcs.credentials_file` | `VOS_BACKENDS_GCS_CREDENTIALS_FILE` |
86+
| `backends.gcs.endpoint` | `VOS_BACKENDS_GCS_ENDPOINT` |
87+
88+
Example using environment variables:
89+
90+
```bash
91+
export VOS_SERVER_PORT=9000
92+
export VOS_BACKENDS_DEFAULT=azblob
93+
export VOS_BACKENDS_AZBLOB_CREDENTIALS_FILE=/secrets/azure-credentials.json
94+
export VOS_AUTH_ENABLED=true
95+
export VOS_AUTH_CREDENTIALS_FILE=/secrets/auth-credentials.json
96+
97+
./vos serve
98+
```
99+
100+
Environment variables take precedence over config file values, allowing you to override specific settings without modifying the config file.
101+
63102
### Credentials Files
64103

65104
All sensitive credentials are stored in separate JSON files:
@@ -150,6 +189,38 @@ VariObjectStorage/
150189

151190
## Getting Started
152191

192+
### Running with Docker
193+
194+
The easiest way to run VOS is using the official Docker image from GitHub Container Registry:
195+
196+
```bash
197+
# Pull the latest image
198+
docker pull ghcr.io/variamity/variobjectstorage:latest
199+
200+
# Run with a config file
201+
docker run -p 8080:8080 \
202+
-v /path/to/config.yaml:/app/config.yaml \
203+
-v /path/to/credentials:/app/credentials \
204+
ghcr.io/variamity/variobjectstorage:latest
205+
206+
# Or run with environment variables
207+
docker run -p 8080:8080 \
208+
-e VOS_SERVER_PORT=8080 \
209+
-e VOS_BACKENDS_DEFAULT=azblob \
210+
-e VOS_BACKENDS_AZBLOB_CREDENTIALS_FILE=/app/credentials/azure-credentials.json \
211+
-e VOS_AUTH_ENABLED=true \
212+
-e VOS_AUTH_CREDENTIALS_FILE=/app/credentials/auth-credentials.json \
213+
-v /path/to/credentials:/app/credentials \
214+
ghcr.io/variamity/variobjectstorage:latest
215+
```
216+
217+
Available tags:
218+
219+
- `latest` - Latest stable release
220+
- `X` - Specific major version (e.g., `0`)
221+
- `X.Y` - Specific minor version (e.g., `0.1`)
222+
- `X.Y.Z` - Specific patch version (e.g., `0.1.0`)
223+
153224
### Running Tests
154225

155226
The integration tests run against all storage backends by default. Each test is executed as a subtest for each backend, making it easy to identify backend-specific issues:

0 commit comments

Comments
 (0)