Skip to content
Open
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
e9006fc
Merge remote-tracking branch 'origin/dev'
ashconnell Feb 20, 2025
e5046d4
Merge remote-tracking branch 'origin/dev'
ashconnell Feb 21, 2025
27826b2
Merge remote-tracking branch 'origin/dev'
ashconnell Feb 22, 2025
17161b1
Merge remote-tracking branch 'origin/dev'
ashconnell Feb 22, 2025
70b9d5b
Merge remote-tracking branch 'origin/dev'
ashconnell Mar 11, 2025
ad0a35e
Merge remote-tracking branch 'origin/dev'
ashconnell Apr 1, 2025
b6aa253
Merge remote-tracking branch 'origin/dev'
ashconnell Apr 24, 2025
abb113e
Merge remote-tracking branch 'origin/dev'
ashconnell May 10, 2025
aadf5e0
Merge remote-tracking branch 'origin/dev'
ashconnell May 30, 2025
5082f3c
feat: add multi-database support with generic environment variables
DevStarlight Jun 4, 2025
c3fea9e
feat: Add AWS S3 storage support with modular architecture
DevStarlight Jun 6, 2025
495b8a1
Merge branch 'hyperfy-xyz:main' into feat/aws-storage-support
DevStarlight Jun 6, 2025
fac1e84
refactor: Reorganize storage architecture and fix asset processing - …
DevStarlight Jun 6, 2025
4945d97
chore: Remove some useless comments
DevStarlight Jun 6, 2025
3db7ba2
chore: Remove some useless methods
DevStarlight Jun 7, 2025
a3a895d
chore: include more needed venv variables
DevStarlight Jun 7, 2025
4ffc1b6
chore: Remove some extra lines
DevStarlight Jun 7, 2025
a0ab3ce
chore: Remove some extra lines
DevStarlight Jun 7, 2025
f11aecb
feat: add multi-database and AWS S3 storage support
DevStarlight Jun 9, 2025
cb849d1
feat: modernize clean-world-s3 script with multi-database and STORAGE…
DevStarlight Jun 9, 2025
36e04e9
feat: Allow publishing branch from feat/full-storage-and-db-support
DevStarlight Jun 9, 2025
1d9e535
revert: remove docker.yml changes from feature branch
DevStarlight Jun 9, 2025
f61c0bd
feat: Include support to define a schema in case there is only one da…
DevStarlight Jun 10, 2025
c190bb3
feat: Allow credentials to be defined as a service account
DevStarlight Jun 10, 2025
c17fc77
refactor(db): simplify DB config to only DB_TYPE and DB_URL, default …
DevStarlight Jul 6, 2025
e0c6dd6
feat: Upgrade package.json & package-lock.json
DevStarlight Jul 6, 2025
5012d34
refactor(storage): rename aws storage to s3, update env vars and docs…
DevStarlight Jul 6, 2025
a3d71aa
refactor(scripts): abstract clean-world scripts with shared utilities…
DevStarlight Jul 6, 2025
73480a9
refactor: Reorganize storage architecture and fix asset processing - …
DevStarlight Jun 6, 2025
fdca92c
chore: Remove some useless comments
DevStarlight Jun 6, 2025
4df6bd5
chore: Remove some useless methods
DevStarlight Jun 7, 2025
b964ce5
chore: include more needed venv variables
DevStarlight Jun 7, 2025
b20ceba
chore: Remove some extra lines
DevStarlight Jun 7, 2025
56188c4
chore: Remove some extra lines
DevStarlight Jun 7, 2025
a0027db
feat: add multi-database support with generic environment variables
DevStarlight Jun 4, 2025
a27de17
feat: modernize clean-world-s3 script with multi-database and STORAGE…
DevStarlight Jun 9, 2025
5fd8705
feat: Allow publishing branch from feat/full-storage-and-db-support
DevStarlight Jun 9, 2025
252de7c
revert: remove docker.yml changes from feature branch
DevStarlight Jun 9, 2025
91b7797
feat: Include support to define a schema in case there is only one da…
DevStarlight Jun 10, 2025
4993675
feat: Allow credentials to be defined as a service account
DevStarlight Jun 10, 2025
3464f0b
refactor(db): simplify DB config to only DB_TYPE and DB_URL, default …
DevStarlight Jul 6, 2025
4c7d6b0
refactor(storage): rename aws storage to s3, update env vars and docs…
DevStarlight Jul 6, 2025
aa2bbeb
refactor(scripts): abstract clean-world scripts with shared utilities…
DevStarlight Jul 6, 2025
8acb76e
Merge branch 'feat/full-storage-and-db-support' of github.com:numenga…
DevStarlight Jul 6, 2025
fa33fd5
fix: Solve an issue for what there was a double else block when initi…
DevStarlight Jul 6, 2025
2c94a8f
Merge upstream/dev: Integrate latest changes with flexible DB and S3 …
DevStarlight Jul 22, 2025
55e7e4f
chore: Remove some useless imports in clean-world.mjs
DevStarlight Jul 22, 2025
fb33362
cleanup: Remove obsolete clean-world fragments
DevStarlight Jul 22, 2025
e9ae195
fix: Remove duplicated lib imported in package.json
DevStarlight Jul 22, 2025
76806bb
feat: Add S3 URI configuration support
DevStarlight Jul 22, 2025
b57a944
refactor: Simplify configuration to URI-only approach
DevStarlight Jul 22, 2025
728c21e
fix: resolve remote storage and database configuration issues
DevStarlight Jul 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 52 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,55 @@ PUBLIC_ASSETS_URL=http://localhost:3000/assets
# LiveKit (voice chat)
LIVEKIT_WS_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
LIVEKIT_API_SECRET=

# ==============================================
# DATABASE CONFIGURATION
# ==============================================
# Configure your database connection here.
#
# Supported databases:
# - PostgreSQL (DB_TYPE=pg)
# - MySQL (DB_TYPE=mysql2)
# - SQLite (fallback - no configuration needed)
#
# If database environment variables are not provided,
# the application will automatically fall back to SQLite.

# Database type - specify the database engine to use
# Options: 'pg' (PostgreSQL), 'mysql2' (MySQL)
DB_TYPE=pg

# Database connection details
DB_HOST=localhost
DB_PORT=5432
DB_USER=your_username
DB_PASSWORD=your_password
DB_NAME=your_database_name
DB_SCHEMA=your_database_schema

# ==============================================
# STORAGE CONFIGURATION
# ==============================================
# Configure your file storage system here.
#
# Supported storage types:
# - Local file system (default - no configuration needed)
# - AWS S3 (requires S3 configuration below)
#
# If STORAGE_TYPE is provided, AWS S3 storage will be used.
# If STORAGE_TYPE is empty or not set, local file storage will be used.
#
# AWS credentials can be provided via environment variables below,
# or through AWS CLI configuration, IAM roles, or instance profiles.

# AWS S3 storage configuration (only required when using S3)
# To use AWS S3 storage, set STORAGE_TYPE and other S3 variables below
STORAGE_TYPE=
S3_BUCKET_NAME=bucket-name
AWS_ACCESS_KEY_ID=access-key-id
AWS_SECRET_ACCESS_KEY=secret-key-id
S3_REGION=eu-west-1
S3_ASSETS_PREFIX=
S3_COLLECTIONS_PREFIX=
S3_STORAGE_PREFIX=
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes would default to postgres for new people attempting to quickly spin up new worlds and I think we should continue to stick to sqlite as the default, so that people don't have to spend a whole lot of time launching a postgres docker container etc.

Additionally these are a lot of new environment variables that (might) be simplified by just using URI's like this:

# by default set to empty which uses sqlite in the world folder
DB_TYPE=
DB_URL=

# optionally configured to connect to a remote postgres database
DB_TYPE=pg
DB_URL=https://username:password@localhost:5432/database?schema=public

I don't think many people use mysql so i'd be happier to just not support that right now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find your suggestion fine and I've updated both the code and the .env.example file to simplify the database setup as you recommended. Now, only two environment variables are used:

  • DB_TYPE (leave empty for SQLite, or set to pg for Postgres)

  • DB_URL (leave empty for SQLite, or provide a Postgres connection URI)

MySQL support and all the old related variables have been removed. This makes the default experience much simpler for new users, who can now spin up worlds with SQLite out of the box.

Loading