# πŸ—ΊοΈ Installing TRIP on Synology NAS Using Docker and Portainer This guide explains how to deploy [TRIP](https://github.com/itskovacs/trip) on a Synology NAS using Docker and Portainer. TRIP is a minimalist, privacy-first map and POI tracking app that is fully self-hostable. --- ## 🧰 Prerequisites - A Synology NAS with Docker support - [Docker](https://www.synology.com/en-us/dsm/packages/Docker) installed via Synology Package Center - [Portainer](https://www.portainer.io/) (Community Edition) installed and running - Basic familiarity with Synology DSM, Portainer, and local network setup --- ## πŸ“ Step 1: Create a Storage Directory Create a folder on your NAS to persist TRIP’s storage: ```bash mkdir -p /volume1/docker/trip-storage ``` You can also do this via File Station by creating: ``` /volume1/docker/trip-storage ``` --- ## πŸš€ Step 2: Deploy TRIP in Portainer ### βœ… Option A: Docker Compose (Recommended) 1. Open **Portainer**. 2. Go to **Stacks** β†’ **Add Stack**. 3. Name your stack (e.g., `trip`). 4. Paste the following: ```yaml version: '3.9' services: trip: container_name: trip image: ghcr.io/itskovacs/trip:latest user: 1000:1000 #change these values to match those of your synology setup PUID:PGID security_opt: - no-new-privileges:true volumes: - /volume1/docker/trip-storage:/app/storage restart: on-failure:5 ports: - "8080:8000" ``` 5. Click **Deploy the stack**. --- ### βš™οΈ Option B: Manual Container (Docker Run Equivalent) 1. In **Portainer**, go to **Containers** β†’ **Add Container**. 2. Fill out the following fields: - **Name**: `trip` - **Image**: `ghcr.io/itskovacs/trip:latest` - **Port mapping**: `8080` β†’ `8000` - **Volume mapping**: - Host: `/volume1/docker/trip-storage` - Container: `/app/storage` 3. Click **Deploy the container**. --- ## 🌐 Step 3: Access the App Open a browser and go to: ``` http://:8080 ``` You should see the TRIP web interface. --- ## βš™οΈ Step 4: Add Optional Configuration (e.g., Authentication) TRIP supports advanced configuration via a `config.yml` file. To enable it: 1. Place your `config.yml` inside `/volume1/docker/trip-storage`. 2. The app will detect it automatically on container restart. > For authentication, theming, and more, refer to: > [TRIP Configuration Docs](https://github.com/itskovacs/trip#configuration) --- ## 🧯 Troubleshooting - **Can’t access the app?** - Ensure the NAS IP is correct and port 8080 is not blocked. - **Data not saving?** - Confirm that the `/app/storage` volume is mapped properly. - **Need to upgrade?** - Edit the image tag in your Docker Compose or Container to the new version and redeploy. --- ## πŸ“Œ Example Quick Reference | Item | Value | |----------------|---------------------------------------| | App URL | `http://:8080` | | Docker Image | `ghcr.io/itskovacs/trip:latest` | | Storage Path | `/volume1/docker/trip-storage` | | Port Mapping | `8080:8000` | --- ## βœ… Final Notes - [TRIP GitHub Repo](https://github.com/itskovacs/trip) - [Latest Release](https://github.com/itskovacs/trip/releases) - If using a reverse proxy (e.g., Synology Application Portal or NGINX), map `/` to port `8080`.