rommapp_docs/docs/System-Setup/Synology-Setup-Guide.md
Georges-Antoine Assi f1d93268a9
Update wiki to docs
2025-09-18 10:05:48 -04:00

4.0 KiB

External Written Guides

While you can follow the below guide, Marius Bogdan Lixandru has written excellent guides which focus on Synology infrastructure and with support for both MariaDB and PostGresSQL:

We suggest following the above guides if they fit your setup, and the guide below is available for all other use cases.

Prerequisites

This guide assumes you're familiar with Docker and have basic knowledge of server management. You'll need:

  • A Synology NAS or similar server
  • Docker installed
  • Basic command line knowledge
  • Access to manage network settings

Setup Process

1. Folder Structure Setup

ROM Storage Folders

Create the following directory structure for game assets and configuration:

mkdir -p /volume1/data/media/games/assets
mkdir -p /volume1/data/media/games/config

ROM Library Structure

RomM requires a very specific folder structure for rom files:

mkdir -p /volume1/data/media/games/library/roms
mkdir -p /volume1/data/media/games/library/bios

Note: For supported platforms and their specific folder names, refer to the official RomM docs.

Docker Data Folders

Create these folders for project and container data:

mkdir -p /volume1/docker/romm-project/
mkdir -p /volume1/docker/romm/resources
mkdir -p /volume1/docker/romm/redis-data
mkdir -p /volume1/docker/mariadb-romm

2. Network Bridge Setup

Create a new network bridge named rommbridge following standard Docker networking practices. You can use this guide for reference.

3. Key Generation

Authentication Key

Generate your authentication key using:

openssl rand -hex 32
> 03a054b6ca27e0107c5eed552ea66bacd9f3a2a8a91e7595cd462a593f9ecd09

Save the output - you'll need it for the ROMM_AUTH_SECRET_KEY in your configuration.

API Integration Setup

Follow the dedicated docs page for API key generation to set up your API keys.

4. MariaDB Configuration

!!! important - This guide uses a dedicated MariaDB container for RomM, but you can use an existing MariaDB instance if preferred - We're using MariaDB version 10.7 for compatibility - The container uses port 3306 internally, mapped to 3309 externally - A simplified health check is implemented for stability

5. Docker Compose Configuration

Create a docker-compose.yml file with the following content:

???+ example "Example Docker Compose" yaml --8<-- "synology.docker-compose.yml"

6. Initial Launch

  1. Start the containers using Docker Compose
  2. Be patient! The container can take a few minutes to setup on first launch
  3. Monitor progress through container logs
  4. Access RomM through your browser at http://your-server-ip:7676

!!! important - Replace placeholder values (UIDs, GIDs, passwords, API keys) with your own - Ensure proper permissions on all created directories - Back up your configuration after successful setup - Monitor logs during initial startup for any errors

Troubleshooting

  • If the web interface shows "page not found," wait for initial setup to complete
  • For database connection issues, verify MariaDB container health status
  • Check logs for both containers if experiencing issues
  • Ensure all volumes are properly mounted with correct permissions

Contributing

This guide is an abridged version of ChopFoo's original guide. If you have any suggestions or improvements, please submit a pull request to the RomM docs.