3.9 KiB
3.9 KiB
Complete Setup Guide for Gathio on Unraid
Prerequisites
- Unraid server with Docker enabled
- Access to the Unraid web interface
- Basic understanding of Docker networking
- At least 1GB of free space for initial setup
Step 1: Prepare Directory Structure
First, create the necessary directories on your Unraid server. You can do this via SSH or the terminal:
mkdir -p /mnt/user/appdata/gathio/config
mkdir -p /mnt/user/appdata/gathio/images
mkdir -p /mnt/user/appdata/gathio/mongodb
Step 2: Set Up MongoDB Container
- Open the Unraid Docker interface
- Click "Add Container"
- Paste the MongoDB template XML content
- Important settings to modify:
- Change
MONGO_INITDB_ROOT_PASSWORD
to a secure password - Note down the username (
root
) and password for later - Verify the path
/mnt/user/appdata/gathio/mongodb
exists
- Change
- Click "Apply" to create the container
- Wait for the container to download and start
Step 3: Configure MongoDB Security
- After MongoDB starts, create a specific database and user for Gathio:
docker exec -it Gathio-MongoDB mongosh -u root -p your_password
- In the MongoDB shell, run:
use gathio db.createUser({ user: "gathio_user", pwd: "choose_secure_password", roles: [{ role: "readWrite", db: "gathio" }] }) exit
Step 4: Set Up Gathio Configuration
- Create a configuration file in
/mnt/user/appdata/gathio/config/config.json
:{ "port": 3032, "baseUrl": "http://your-server-ip:3032", "mongodb": { "host": "mongo", "port": 27017, "database": "gathio", "username": "gathio_user", "password": "your_gathio_user_password" }, "title": "My Gathio Instance", "timezone": "UTC" }
Step 5: Deploy Gathio Container
- Open the Unraid Docker interface
- Click "Add Container"
- Paste the Gathio template XML content
- Verify these settings:
- Port mapping: 3032:3000
- Config directory:
/mnt/user/appdata/gathio/config
- Images directory:
/mnt/user/appdata/gathio/images
- Click "Apply" to create the container
Step 6: Verify Installation
- Wait for both containers to show as running (green status)
- Access Gathio at
http://your-unraid-ip:3032
- Create a test event to verify functionality
Maintenance and Backup
Regular Backups
Include these directories in your Unraid backup strategy:
/mnt/user/appdata/gathio/config
/mnt/user/appdata/gathio/images
/mnt/user/appdata/gathio/mongodb
Updating
-
MongoDB updates:
- Stop the MongoDB container
- Change the tag in template if desired
- Start the container
-
Gathio updates:
- Stop the Gathio container
- Change the tag in template if desired
- Start the container
Troubleshooting
Common Issues and Solutions
-
MongoDB Connection Issues:
- Verify MongoDB container is running
- Check MongoDB logs:
docker logs Gathio-MongoDB
- Verify credentials in config.json match MongoDB user
-
Gathio Won't Start:
- Check Gathio logs:
docker logs gathio-app
- Verify config.json format and permissions
- Ensure MongoDB is running and accessible
- Check Gathio logs:
-
Image Upload Issues:
- Check permissions on
/mnt/user/appdata/gathio/images
- Verify directory ownership matches container user
- Check permissions on
Getting Help
If you encounter issues:
- Check container logs first
- Verify all paths and permissions
- Ensure network connectivity between containers
- Check Gathio's GitHub issues page for similar problems
Security Recommendations
-
Network Security:
- Consider using a reverse proxy (like SWAG)
- Enable HTTPS if exposed to internet
- Restrict MongoDB port access
-
Authentication:
- Use strong passwords for MongoDB
- Regularly rotate credentials
- Monitor access logs
-
Filesystem:
- Regular permission checks
- Periodic security audits
- Keep backups encrypted