Update gathio/README.md

This commit is contained in:
HHF Technology 2024-12-05 15:22:44 +05:30
parent 3601519794
commit e028142190

View file

@ -1,45 +1,144 @@
I've created an Unraid template for Gathio application. Here are some key points about the conversion:
# Complete Setup Guide for Gathio on Unraid
1. Base Structure: I followed the standard Unraid template format, similar to the example template provided in the Unraid forums.
## 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
2. Volume Mappings:
- Converted the config path to `/mnt/user/appdata/gathio/config`
- Converted the images path to `/mnt/user/appdata/gathio/images`
## Step 1: Prepare Directory Structure
3. Network:
- Maintained the port mapping of 3032:3000
- Set to bridge networking mode
First, create the necessary directories on your Unraid server. You can do this via SSH or the terminal:
4. Dependencies:
- Added a note about MongoDB dependency in the description
- Included MongoDB host environment variable
```bash
mkdir -p /mnt/user/appdata/gathio/config
mkdir -p /mnt/user/appdata/gathio/images
mkdir -p /mnt/user/appdata/gathio/mongodb
```
Important notes:
1. You'll need to set up the MongoDB container separately in Unraid
2. The paths in the Data section use the standard Unraid `/mnt/user/appdata` location
3. You may want to adjust the Category based on your preferences
## Step 2: Set Up MongoDB Container
Now you have both templates needed for running Gathio on Unraid. Here's how to use them:
1. Open the Unraid Docker interface
2. Click "Add Container"
3. Paste the MongoDB template XML content
4. 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
5. Click "Apply" to create the container
6. Wait for the container to download and start
1. Install Order:
- Install the MongoDB container (Gathio-MongoDB) first
- Then install the Gathio container
## Step 3: Configure MongoDB Security
2. Important Configuration Notes:
- MongoDB template includes basic security with root username/password
- Make sure to change the default password in the MongoDB template
- The containers are configured to use the same network mode (bridge)
- Data is persistently stored in `/mnt/user/appdata/gathio/`
3. Volume Structure:
1. After MongoDB starts, create a specific database and user for Gathio:
```bash
docker exec -it Gathio-MongoDB mongosh -u root -p your_password
```
/mnt/user/appdata/gathio/
├── config/ # Gathio configuration
├── images/ # Gathio event images
└── mongodb/ # MongoDB data
2. In the MongoDB shell, run:
```javascript
use gathio
db.createUser({
user: "gathio_user",
pwd: "choose_secure_password",
roles: [{ role: "readWrite", db: "gathio" }]
})
exit
```
4. Security Considerations:
- The MongoDB port (27017) is exposed but you can remove this if you don't need external access
- Set strong passwords for the MongoDB root user
- Make sure your Gathio configuration matches the MongoDB credentials
## Step 4: Set Up Gathio Configuration
1. Create a configuration file in `/mnt/user/appdata/gathio/config/config.json`:
```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
1. Open the Unraid Docker interface
2. Click "Add Container"
3. Paste the Gathio template XML content
4. Verify these settings:
- Port mapping: 3032:3000
- Config directory: `/mnt/user/appdata/gathio/config`
- Images directory: `/mnt/user/appdata/gathio/images`
5. Click "Apply" to create the container
## Step 6: Verify Installation
1. Wait for both containers to show as running (green status)
2. Access Gathio at `http://your-unraid-ip:3032`
3. 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
1. MongoDB updates:
- Stop the MongoDB container
- Change the tag in template if desired
- Start the container
2. Gathio updates:
- Stop the Gathio container
- Change the tag in template if desired
- Start the container
## Troubleshooting
### Common Issues and Solutions
1. MongoDB Connection Issues:
- Verify MongoDB container is running
- Check MongoDB logs: `docker logs Gathio-MongoDB`
- Verify credentials in config.json match MongoDB user
2. Gathio Won't Start:
- Check Gathio logs: `docker logs gathio-app`
- Verify config.json format and permissions
- Ensure MongoDB is running and accessible
3. Image Upload Issues:
- Check permissions on `/mnt/user/appdata/gathio/images`
- Verify directory ownership matches container user
### Getting Help
If you encounter issues:
1. Check container logs first
2. Verify all paths and permissions
3. Ensure network connectivity between containers
4. Check Gathio's GitHub issues page for similar problems
## Security Recommendations
1. Network Security:
- Consider using a reverse proxy (like SWAG)
- Enable HTTPS if exposed to internet
- Restrict MongoDB port access
2. Authentication:
- Use strong passwords for MongoDB
- Regularly rotate credentials
- Monitor access logs
3. Filesystem:
- Regular permission checks
- Periodic security audits
- Keep backups encrypted