Using Native Approach
Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability.
Although we strongly discourage it, if none of the alternative installation methods are suitable for you, GameVault can also be installed directly on your system without using containers. The example provided here uses Debian.
Prerequisites
- Node.js must be installed on your system (check the required version here).
- PostgreSQL database (or configure SQLITE later on).
- Install necessary packages:
p7zip-full
andp7zip-rar
(non-free-repository) (or their equivalents in your distribution). - Install the parallel node package manager:
npm i -g pnpm
.
Step 1: Clone the Source Code
cd ~
git clone https://github.com/Phalcode/gamevault-backend.git
cd gamevault-backend
Step 2: Install Dependencies
Now we need to install all necessary node dependencies.
pnpm install
Your server files are now in the dist/
folder.
Step 3: Set up an .env File
Create a .env file in the dist/src/
directory and configure your GameVault as desired or set them in your system/VM directly.
Example with SQLITE:
First create the necessary folders or just use existing ones in your config:
For example:
cd ~
mkdirp gv-db gv-images gv-games`
#/gamevault-backend/.env
DB_SYSTEM=SQLITE
VOLUMES_SQLITEDB=/path/for/database/files
VOLUMES_FILES=/path/for/gane/files
VOLUMES_IMAGES=/path/for/image/files
Step 4: Build and Start the Server
To start the server, run:
pnpm start
Conclusion
You have now successfully set up your GameVault Server.
Additional Info
Don't put/change anything except the .env file inside the gamevault-backend folder if you don't know what you're doing.
Stopping the Server
Press CTRL + C to stop the server.
Updating the Server
You can update the server by running
git pull
inside of your gamevault-backend git repository. It will auto update to the latest version.
You can update to a specific version by using:
git fetch --all --tags --prune
git checkout tags/9.0.0
for example.