mirror of
https://github.com/Drop-OSS/drop-docs.git
synced 2026-01-30 20:55:17 +01:00
feat: add note about certificates
This commit is contained in:
173
docs/advanced/building-windows.md
Normal file
173
docs/advanced/building-windows.md
Normal file
@@ -0,0 +1,173 @@
|
||||
# Building drop-app on Windows
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To compile drop-app on Windows, you'll need:
|
||||
|
||||
- Node.js v22
|
||||
- `yarn` (v1/legacy) package manager
|
||||
- `git` VCS
|
||||
- Rust (stable)
|
||||
- Microsoft Visual Studio Build Tools or Visual Studio Community
|
||||
- Windows 10/11
|
||||
|
||||
## Installing Node.js with Node Version Manager (nvm-windows)
|
||||
|
||||
We recommend using Node Version Manager for Windows to easily switch between Node.js versions.
|
||||
|
||||
### 1. Install nvm-windows
|
||||
|
||||
1. **Download nvm-windows:**
|
||||
- Go to [nvm-windows releases](https://github.com/coreybutler/nvm-windows/releases)
|
||||
- Download the latest `nvm-setup.exe` file
|
||||
- Run the installer as Administrator
|
||||
|
||||
2. **Verify installation:**
|
||||
```shell
|
||||
nvm version
|
||||
```
|
||||
|
||||
### 2. Install Node.js v22
|
||||
|
||||
```shell
|
||||
nvm install 22.18.0
|
||||
nvm use 22.18.0
|
||||
```
|
||||
|
||||
### 3. Verify Node.js installation
|
||||
|
||||
```shell
|
||||
node --version
|
||||
npm --version
|
||||
```
|
||||
|
||||
### 4. Install yarn
|
||||
|
||||
```shell
|
||||
npm install -g yarn
|
||||
yarn --version
|
||||
```
|
||||
|
||||
## Installing Rust
|
||||
|
||||
### 1. Download Rust installer
|
||||
|
||||
1. **Visit the official Rust website:**
|
||||
- Go to [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
|
||||
- Click "Download rustup-init.exe (64-bit)"
|
||||
|
||||
2. **Run the installer:**
|
||||
- Execute the downloaded `rustup-init.exe` file
|
||||
- Follow the installation prompts
|
||||
- Choose option 1 for default installation
|
||||
|
||||
### 2. Verify Rust installation
|
||||
|
||||
Open a new Command Prompt or PowerShell window and run:
|
||||
|
||||
```shell
|
||||
rustc --version
|
||||
cargo --version
|
||||
```
|
||||
|
||||
### 3. Switch to nightly version
|
||||
|
||||
```shell
|
||||
rustup toolchain install nightly
|
||||
rustup default nightly
|
||||
```
|
||||
|
||||
### 4. Verify nightly installation
|
||||
|
||||
```shell
|
||||
rustc --version
|
||||
cargo --version
|
||||
```
|
||||
|
||||
### 5. Update Rust (if needed)
|
||||
|
||||
```shell
|
||||
rustup update
|
||||
```
|
||||
|
||||
## Building drop-app
|
||||
|
||||
Now that you have all prerequisites installed, you can build drop-app:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/Drop-OSS/drop-app.git
|
||||
cd drop-app
|
||||
git checkout develop
|
||||
yarn
|
||||
yarn tauri build
|
||||
```
|
||||
|
||||
**Important:** Make sure to use the `develop` branch for the latest features and fixes.
|
||||
|
||||
If the command is successful, you can find the generated assets in: `src-tauri/target/release/bundle`. You can find the Windows installer in the `msi` folder.
|
||||
|
||||
If the `yarn tauri build` command fails, you can try adding `--verbose` to get the error details.
|
||||
|
||||
## Development Mode
|
||||
|
||||
For live development with real-time updates, use the development mode:
|
||||
|
||||
```shell
|
||||
yarn tauri dev
|
||||
```
|
||||
|
||||
This will start the application in development mode with hot reloading, allowing you to see changes immediately as you modify the code. The app will automatically restart when you save changes to your rust files.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
If you encounter build errors, try the following:
|
||||
|
||||
1. **Ensure Rust is properly installed:**
|
||||
```shell
|
||||
rustc --version
|
||||
cargo --version
|
||||
```
|
||||
|
||||
2. **Install Visual Studio Build Tools:**
|
||||
- Download and install [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
|
||||
- Make sure to include the "C++ build tools" workload
|
||||
- Restart your terminal after installation
|
||||
|
||||
3. **Verify Node.js version:**
|
||||
```shell
|
||||
node --version
|
||||
nvm list
|
||||
nvm use 22.18.0
|
||||
```
|
||||
|
||||
4. **Set up environment variables:**
|
||||
- Ensure `PATH` includes Rust and Node.js
|
||||
- Set `RUST_BACKTRACE=1` for detailed error messages
|
||||
- Restart your terminal after installing Rust
|
||||
|
||||
5. **Clean and rebuild:**
|
||||
```shell
|
||||
yarn clean
|
||||
yarn
|
||||
yarn tauri build
|
||||
```
|
||||
|
||||
### Windows-Specific Issues
|
||||
|
||||
1. **PowerShell execution policy:**
|
||||
If you get execution policy errors, run PowerShell as Administrator and execute:
|
||||
```powershell
|
||||
Set-ExecutionPolicy RemoteSigned
|
||||
```
|
||||
|
||||
2. **Long path issues:**
|
||||
- Enable long path support in Windows Registry
|
||||
- Or clone the repository to a shorter path (e.g., `C:\drop-app`)
|
||||
|
||||
3. **Antivirus interference:**
|
||||
- Temporarily disable antivirus during build
|
||||
- Add the project directory to antivirus exclusions
|
||||
|
||||
**Note:** This page provides Windows-specific build instructions for drop-app. For general building information, see the [Building Drop OSS](building.md) page.
|
||||
@@ -8,9 +8,9 @@ Unfortunately, we don't have the time or resources to build and debug our softwa
|
||||
|
||||
To compile:
|
||||
|
||||
- Rust (stable)
|
||||
- Rust (nightly)
|
||||
- Node.js v20
|
||||
- `yarn` (v1/legacy) package manager
|
||||
- `yarn` (v4) package manager
|
||||
- `git` VCS
|
||||
- Docker
|
||||
|
||||
@@ -59,7 +59,7 @@ git clone https://github.com/Drop-OSS/drop.git
|
||||
Then, link your build `droplet` package:
|
||||
|
||||
```shell
|
||||
yarn link "@drop/droplet"
|
||||
yarn link "@drop-oss/droplet"
|
||||
```
|
||||
|
||||
Then, install dependencies:
|
||||
@@ -111,4 +111,6 @@ NO_STRIP=true yarn tauri build
|
||||
```
|
||||
|
||||
This is a known issue in [Tauri](https://github.com/tauri-apps/tauri/issues/5781#issuecomment-1758815710).
|
||||
|
||||
**Note:** For Windows-specific build instructions, see the [Building drop-app on Windows](building-windows.md) page.
|
||||
\*\*
|
||||
|
||||
11
docs/advanced/certificates.md
Normal file
11
docs/advanced/certificates.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Certificates
|
||||
|
||||
If you're running without a public domain name, or managing your own CA, you may want Drop clients to use a non-default Certificate Authority. There are two options to achieve this functionality.
|
||||
|
||||
## System certificates
|
||||
|
||||
Drop loads certificates from the system trust chain. Add your CA certificate to the platform-specific store, and Drop will load it at startup.
|
||||
|
||||
## `certificates` directory
|
||||
|
||||
Drop optionally loads PEM certificates from all files within a `certificates` directory placed in Drop's data directory. Drop can load more than one certificate from a file, and only does so at startup.
|
||||
253
docs/guides/getting-started.md
Normal file
253
docs/guides/getting-started.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# Getting Started
|
||||
|
||||
This comprehensive guide walks you through the complete setup process for Drop, from initial deployment to configuring your library and metadata providers.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before starting, ensure you have:
|
||||
- Docker and Docker Compose installed
|
||||
- A machine with at least 4GB RAM and 10GB free disk space
|
||||
- Network access for downloading game metadata
|
||||
|
||||
## Step 1: Deploy Drop Server
|
||||
|
||||
### Option A: Docker Compose (Recommended)
|
||||
|
||||
Create a `compose.yaml` file in your desired directory:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:14-alpine
|
||||
ports:
|
||||
- 5432:5432
|
||||
healthcheck:
|
||||
test: pg_isready -d drop -U drop
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
retries: 5
|
||||
start_period: 10s
|
||||
volumes:
|
||||
- ./db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=drop
|
||||
- POSTGRES_USER=drop
|
||||
- POSTGRES_DB=drop
|
||||
drop:
|
||||
image: ghcr.io/drop-oss/drop:latest
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- ./library:/library
|
||||
- ./data:/data
|
||||
environment:
|
||||
- DATABASE_URL=postgres://drop:drop@postgres:5432/drop
|
||||
- EXTERNAL_URL=http://localhost:3000
|
||||
```
|
||||
|
||||
**Important volumes:**
|
||||
- `./library`: Where you'll place your games for import
|
||||
- `./data`: Where Drop stores metadata and objects
|
||||
|
||||
Start the services:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Option B: Manual Installation
|
||||
|
||||
For advanced users, see the [Building Drop OSS](../advanced/building.md) guide.
|
||||
|
||||
## Step 2: Extract Setup Key and Link from Server Logs
|
||||
|
||||
After starting the server, you need to extract the setup key and link from the logs:
|
||||
|
||||
```bash
|
||||
# View the logs to find the setup key and link
|
||||
docker-compose logs drop
|
||||
```
|
||||
|
||||
Look for lines similar to:
|
||||
```
|
||||
Setup URL: http://localhost:3000/setup?key=abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
|
||||
```
|
||||
|
||||
**Copy both the setup key and the setup URL** - you'll need them for the next step.
|
||||
|
||||
:::tip
|
||||
If you can't find the setup key or URL, restart the container and check the logs again:
|
||||
```bash
|
||||
docker-compose restart drop
|
||||
docker-compose logs drop
|
||||
```
|
||||
:::
|
||||
|
||||
## Step 3: Configure Metadata Providers
|
||||
|
||||
Drop requires at least one metadata provider to fetch game information. Choose one or more:
|
||||
|
||||
### GiantBomb (Recommended for beginners)
|
||||
|
||||
1. **Create account:** Visit [GiantBomb's signup page](https://www.giantbomb.com/login-signup/)
|
||||
2. **Get API key:** Go to [GiantBomb API page](https://www.giantbomb.com/api/) and copy your key
|
||||
3. **Add to environment:** Add `GIANT_BOMB_API_KEY=your_key_here` to your `compose.yaml`
|
||||
|
||||
For detailed instructions, see [GiantBomb Configuration](../metadata/giantbomb.md).
|
||||
|
||||
### IGDB (Alternative option)
|
||||
|
||||
1. **Follow setup guide:** Visit [IGDB API documentation](https://api-docs.igdb.com/#getting-started)
|
||||
2. **Get credentials:** You'll need both `IGDB_CLIENT_ID` and `IGDB_CLIENT_SECRET`
|
||||
3. **Add to environment:** Add both variables to your `compose.yaml`
|
||||
|
||||
For detailed instructions, see [IGDB Configuration](../metadata/igdb.md).
|
||||
|
||||
### PCGamingWiki (Optional)
|
||||
|
||||
For additional game information, see [PCGamingWiki Configuration](../metadata/pcgamingwiki.md).
|
||||
|
||||
## Step 4: Access the Setup Wizard
|
||||
|
||||
1. **Open your browser** and navigate to the setup URL you copied from the logs
|
||||
2. **The setup key will be automatically included** in the URL
|
||||
3. **Create your admin account** with a secure username and password
|
||||
|
||||
:::warning
|
||||
Keep your admin credentials secure - you'll need them to manage your Drop instance.
|
||||
:::
|
||||
|
||||
## Step 5: Configure Your Library
|
||||
|
||||
### Understanding Drop's Library Structure
|
||||
|
||||
Drop supports two library formats:
|
||||
|
||||
#### Drop-style (Recommended)
|
||||
```
|
||||
/library/
|
||||
MyGame/
|
||||
version-1/
|
||||
game.exe
|
||||
data/
|
||||
version-2/
|
||||
game.exe
|
||||
data/
|
||||
AnotherGame/
|
||||
version1.zip
|
||||
```
|
||||
|
||||
#### Flat-style (Compatibility)
|
||||
```
|
||||
/library/
|
||||
MyGame/
|
||||
game.exe
|
||||
data/
|
||||
AnotherGame.zip
|
||||
```
|
||||
|
||||
For detailed information, see [Library Sources](../library.md).
|
||||
|
||||
### Setting Up Your Library Source
|
||||
|
||||
1. **In the admin interface**, go to "Library Sources"
|
||||
2. **Click "Create source"**
|
||||
3. **Configure your library source:**
|
||||
- **Name:** Enter a descriptive name for your source (e.g., "My Game Library")
|
||||
- **Type:** Choose from:
|
||||
- **Filesystem:** Imports games from a path on disk. Requires version-based folder structure, and supports archived games. Use this for new Drop-style libraries.
|
||||
- **FlatFilesystem:** Imports games from a path on disk, but without a separate version subfolder. Useful when migrating an existing library to Drop.
|
||||
- **Path:** Enter the path to your game library in your docker container (e.g., `/library`)
|
||||
4. **Save the configuration**
|
||||
|
||||
## Step 6: Import Your Games
|
||||
|
||||
### Importing Game Metadata
|
||||
|
||||
1. **Navigate to your library** in the admin interface
|
||||
2. **For each game folder**, click "Import Game"
|
||||
3. **Search for your game** using the metadata provider
|
||||
4. **Select the correct game** from the search results
|
||||
5. **Confirm the import** - this links the folder to game metadata
|
||||
|
||||
:::tip
|
||||
Game metadata import only happens once per game. This pulls in descriptions, images, and other metadata.
|
||||
:::
|
||||
|
||||
### Importing Game Versions
|
||||
|
||||
1. **For each version folder/file**, click "Import Version"
|
||||
2. **Wait for processing** - Drop will scan all files and generate checksums
|
||||
3. **Review the import** - check file count and size
|
||||
|
||||
:::tip
|
||||
Version imports happen for each update. This generates the data clients need to download games.
|
||||
:::
|
||||
|
||||
## Step 7: Set Up Client Access
|
||||
|
||||
### Exposing Your Instance
|
||||
|
||||
For clients to connect, your Drop instance needs to be accessible:
|
||||
|
||||
#### Local Network Access
|
||||
- **Find your server's IP address**
|
||||
- **Update `EXTERNAL_URL`** in your `compose.yaml`:
|
||||
```yaml
|
||||
environment:
|
||||
- EXTERNAL_URL=http://[your-drop-server-ip]:3000
|
||||
```
|
||||
- **Restart the container:**
|
||||
```bash
|
||||
docker-compose down && docker-compose up -d
|
||||
```
|
||||
|
||||
For advanced exposure options, see [Exposing Your Instance](exposing.md).
|
||||
|
||||
### Installing Drop Client
|
||||
|
||||
1. **Download the client** from [https://droposs.org/download](https://droposs.org/download)
|
||||
2. **Install for your platform**
|
||||
3. **Open the client** and follow the connection wizard
|
||||
4. **Enter your server URL** (e.g., `http://[your-drop-server-ip]:3000`)
|
||||
5. **Sign in** with your admin credentials
|
||||
|
||||
## Step 8: Advanced Configuration
|
||||
|
||||
### User Management
|
||||
|
||||
- **Create additional users** in the admin interface
|
||||
- **Set up authentication** - see [Authentication](../authentication/) for OIDC options
|
||||
- **Manage permissions** for different user roles
|
||||
|
||||
### Library Management
|
||||
|
||||
- **Add multiple library sources** to combine different game collections
|
||||
- **Configure version deltas** for efficient storage - see [Library Sources](../library.md#version-deltas--ordering)
|
||||
- **Set up automatic imports** for new games
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If you encounter issues:
|
||||
|
||||
1. **Check server logs:**
|
||||
```bash
|
||||
docker-compose logs drop
|
||||
```
|
||||
|
||||
2. **Verify metadata provider configuration**
|
||||
3. **Check file permissions** on your library directory
|
||||
4. **Review the troubleshooting guides:**
|
||||
- [Server Troubleshooting](server-troubleshooting.md)
|
||||
- [Client Troubleshooting](client-troubleshooting.md)
|
||||
|
||||
## Next Steps
|
||||
|
||||
- **Explore the admin interface** to customize your setup
|
||||
- **Add more games** to your library
|
||||
- **Configure additional metadata providers** for better game information
|
||||
- **Join the community** for support and feature requests
|
||||
|
||||
For detailed information on any topic, refer to the specific documentation pages linked throughout this guide.
|
||||
@@ -19,6 +19,7 @@ const sidebars: SidebarsConfig = {
|
||||
type: "category",
|
||||
label: "Admin Guides",
|
||||
items: [
|
||||
"guides/getting-started",
|
||||
"guides/quickstart",
|
||||
"guides/exposing",
|
||||
"guides/server-troubleshooting",
|
||||
@@ -42,7 +43,11 @@ const sidebars: SidebarsConfig = {
|
||||
{
|
||||
type: "category",
|
||||
label: "Advanced",
|
||||
items: ["advanced/building"],
|
||||
items: [
|
||||
"advanced/building",
|
||||
"advanced/building-windows",
|
||||
"advanced/certificates",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
|
||||
11
versioned_docs/version-0.3.0/advanced/certificates.md
Normal file
11
versioned_docs/version-0.3.0/advanced/certificates.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Certificates
|
||||
|
||||
If you're running without a public domain name, or managing your own CA, you may want Drop clients to use a non-default Certificate Authority. There are two options to achieve this functionality.
|
||||
|
||||
## System certificates
|
||||
|
||||
Drop loads certificates from the system trust chain. Add your CA certificate to the platform-specific store, and Drop will load it at startup.
|
||||
|
||||
## `certificates` directory
|
||||
|
||||
Drop optionally loads PEM certificates from all files within a `certificates` directory placed in Drop's data directory. Drop can load more than one certificate from a file, and only does so at startup.
|
||||
@@ -1,4 +1,4 @@
|
||||
# Getting Started with Drop
|
||||
# Getting Started
|
||||
|
||||
This comprehensive guide walks you through the complete setup process for Drop, from initial deployment to configuring your library and metadata providers.
|
||||
|
||||
|
||||
@@ -40,7 +40,8 @@
|
||||
"label": "Advanced",
|
||||
"items": [
|
||||
"advanced/building",
|
||||
"advanced/building-windows"
|
||||
"advanced/building-windows",
|
||||
"advanced/certificates"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user