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:
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:
docker-compose up -d
Option B: Manual Installation
For advanced users, see the Building Drop OSS 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:
# 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.
If you can't find the setup key or URL, restart the container and check the logs again:
docker-compose restart drop
docker-compose logs drop
Step 3: Configure Metadata Providers
Drop can optionally import metadata from external sources for your library. If no metadata providers are set up and accessible, you'll have to import games without metadata and write it manually.
GiantBomb (Recommended for beginners)
- Create account: Visit GiantBomb's signup page
- Get API key: Go to GiantBomb API page and copy your key
- Add to environment: Add
GIANT_BOMB_API_KEY=your_key_hereto yourcompose.yaml
For detailed instructions, see GiantBomb Configuration.
IGDB
- Follow setup guide: Visit IGDB API documentation
- Get credentials: You'll need both
IGDB_CLIENT_IDandIGDB_CLIENT_SECRET - Add to environment: Add both variables to your
compose.yaml
For detailed instructions, see IGDB Configuration.
PCGamingWiki
PCGamingWiki requires no additional setup and is automatically enabled, if accessible.
For more information, see PCGamingWiki Configuration.
Step 4: Access the Setup Wizard
- Open your browser and navigate to the setup URL you copied from the logs
- The setup key will be automatically included in the URL
- Create your admin account with a secure username and password
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.
Setting Up Your Library Source
- In the admin interface, go to "Library Sources"
- Click "Create source"
- 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)
- Save the configuration
Step 6: Import Your Games
Importing Game Metadata
- Navigate to your library in the admin interface
- For each game folder, click "Import Game"
- Search for your game using the metadata provider
- Select the correct game from the search results
- Confirm the import - this links the folder to game metadata
Game metadata import only happens once per game. This pulls in descriptions, images, and other metadata.
Importing Game Versions
- For each version folder/file, click "Import Version"
- Wait for processing - Drop will scan all files and generate checksums
- Review the import - check file count and size
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_URLin yourcompose.yaml:environment:
- EXTERNAL_URL=http://[your-drop-server-ip]:3000 -
Restart the container:
docker-compose down && docker-compose up -d
For advanced exposure options, see Exposing Your Instance.
Installing Drop Client
- Download the client from https://droposs.org/download
- Install for your platform
- Open the client and follow the connection wizard
- Enter your server URL (e.g.,
http://[your-drop-server-ip]:3000) - Sign in with your admin credentials
Step 8: Advanced Configuration
User Management
- Create additional users in the admin interface
- Set up authentication - see 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
- Set up automatic imports for new games
Troubleshooting
If you encounter issues:
-
Check server logs:
docker-compose logs drop -
Verify metadata provider configuration
-
Check file permissions on your library directory
-
Review the troubleshooting guides:
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.