- 
                Notifications
    You must be signed in to change notification settings 
- Fork 89
feat: Multi-database and AWS S3 storage support #100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Open
      
      
            DevStarlight
  wants to merge
  52
  commits into
  hyperfy-xyz:dev
  
    
      
        
          
  
    
      Choose a base branch
      
     
    
      
        
      
      
        
          
          
        
        
          
            
              
              
              
  
           
        
        
          
            
              
              
           
        
       
     
  
        
          
            
          
            
          
        
       
    
      
from
numengames:feat/full-storage-and-db-support
  
      
      
   
  
    
  
  
  
 
  
      
    base: dev
Could not load branches
            
              
  
    Branch not found: {{ refName }}
  
            
                
      Loading
              
            Could not load tags
            
            
              Nothing to show
            
              
  
            
                
      Loading
              
            Are you sure you want to change the base?
            Some commits from the old base branch may be removed from the timeline,
            and old review comments may become outdated.
          
          
  
     Open
                    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 e5046d4
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell 27826b2
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell 17161b1
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell 70b9d5b
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell ad0a35e
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell b6aa253
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell abb113e
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell aadf5e0
              
                Merge remote-tracking branch 'origin/dev'
              
              
                ashconnell 5082f3c
              
                feat: add multi-database support with generic environment variables
              
              
                DevStarlight c3fea9e
              
                feat: Add AWS S3 storage support with modular architecture
              
              
                DevStarlight 495b8a1
              
                Merge branch 'hyperfy-xyz:main' into feat/aws-storage-support
              
              
                DevStarlight fac1e84
              
                refactor: Reorganize storage architecture and fix asset processing - …
              
              
                DevStarlight 4945d97
              
                chore: Remove some useless comments
              
              
                DevStarlight 3db7ba2
              
                chore: Remove some useless methods
              
              
                DevStarlight a3a895d
              
                chore: include more needed venv variables
              
              
                DevStarlight 4ffc1b6
              
                chore: Remove some extra lines
              
              
                DevStarlight a0ab3ce
              
                chore: Remove some extra lines
              
              
                DevStarlight f11aecb
              
                feat: add multi-database and AWS S3 storage support
              
              
                DevStarlight cb849d1
              
                feat: modernize clean-world-s3 script with multi-database and STORAGE…
              
              
                DevStarlight 36e04e9
              
                feat: Allow publishing branch from feat/full-storage-and-db-support
              
              
                DevStarlight 1d9e535
              
                revert: remove docker.yml changes from feature branch
              
              
                DevStarlight f61c0bd
              
                feat: Include support to define a schema in case there is only one da…
              
              
                DevStarlight c190bb3
              
                feat: Allow credentials to be defined as a service account
              
              
                DevStarlight c17fc77
              
                refactor(db): simplify DB config to only DB_TYPE and DB_URL, default …
              
              
                DevStarlight e0c6dd6
              
                feat: Upgrade package.json & package-lock.json
              
              
                DevStarlight 5012d34
              
                refactor(storage): rename aws storage to s3, update env vars and docs…
              
              
                DevStarlight a3d71aa
              
                refactor(scripts): abstract clean-world scripts with shared utilities…
              
              
                DevStarlight 73480a9
              
                refactor: Reorganize storage architecture and fix asset processing - …
              
              
                DevStarlight fdca92c
              
                chore: Remove some useless comments
              
              
                DevStarlight 4df6bd5
              
                chore: Remove some useless methods
              
              
                DevStarlight b964ce5
              
                chore: include more needed venv variables
              
              
                DevStarlight b20ceba
              
                chore: Remove some extra lines
              
              
                DevStarlight 56188c4
              
                chore: Remove some extra lines
              
              
                DevStarlight a0027db
              
                feat: add multi-database support with generic environment variables
              
              
                DevStarlight a27de17
              
                feat: modernize clean-world-s3 script with multi-database and STORAGE…
              
              
                DevStarlight 5fd8705
              
                feat: Allow publishing branch from feat/full-storage-and-db-support
              
              
                DevStarlight 252de7c
              
                revert: remove docker.yml changes from feature branch
              
              
                DevStarlight 91b7797
              
                feat: Include support to define a schema in case there is only one da…
              
              
                DevStarlight 4993675
              
                feat: Allow credentials to be defined as a service account
              
              
                DevStarlight 3464f0b
              
                refactor(db): simplify DB config to only DB_TYPE and DB_URL, default …
              
              
                DevStarlight 4c7d6b0
              
                refactor(storage): rename aws storage to s3, update env vars and docs…
              
              
                DevStarlight aa2bbeb
              
                refactor(scripts): abstract clean-world scripts with shared utilities…
              
              
                DevStarlight 8acb76e
              
                Merge branch 'feat/full-storage-and-db-support' of github.com:numenga…
              
              
                DevStarlight fa33fd5
              
                fix: Solve an issue for what there was a double else block when initi…
              
              
                DevStarlight 2c94a8f
              
                Merge upstream/dev: Integrate latest changes with flexible DB and S3 …
              
              
                DevStarlight 55e7e4f
              
                chore: Remove some useless imports in clean-world.mjs
              
              
                DevStarlight fb33362
              
                cleanup: Remove obsolete clean-world fragments
              
              
                DevStarlight e9ae195
              
                fix: Remove duplicated lib imported in package.json
              
              
                DevStarlight 76806bb
              
                feat: Add S3 URI configuration support
              
              
                DevStarlight b57a944
              
                refactor: Simplify configuration to URI-only approach
              
              
                DevStarlight 728c21e
              
                fix: resolve remote storage and database configuration issues
              
              
                DevStarlight File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
There was a problem hiding this comment.
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:
I don't think many people use mysql so i'd be happier to just not support that right now.
There was a problem hiding this comment.
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.