154 lines
3.6 KiB
Markdown
154 lines
3.6 KiB
Markdown
# Posse-Party Deployment Guide
|
|
|
|
**Posse-Party** - POSSE (Publish on Own Site, Syndicate Elsewhere) platform for managing your social media presence.
|
|
|
|
## What is Posse-Party?
|
|
|
|
Posse-Party helps you:
|
|
- **Publish** content on your own website/platform
|
|
- **Syndicate** to other social media platforms (Twitter/X, Mastodon, LinkedIn, etc.)
|
|
- **Own** your content while still reaching audiences on other platforms
|
|
- **Cross-post** automatically to multiple platforms at once
|
|
|
|
## Quick Start
|
|
|
|
### 1. Generate Secret Key
|
|
|
|
```bash
|
|
openssl rand -hex 64
|
|
```
|
|
|
|
Copy this value - you'll need it for `SECRET_KEY_BASE`.
|
|
|
|
### 2. Create Environment File
|
|
|
|
```bash
|
|
cp posse-party.env.example .env
|
|
nano .env # or use your preferred editor
|
|
```
|
|
|
|
**Required settings to fill in:**
|
|
- `SECRET_KEY_BASE` - The value from step 1
|
|
- `POSTGRES_PASSWORD` - A strong database password
|
|
- `APP_HOST` - Should already be set to `posseparty.bendtstudio.com`
|
|
|
|
**Optional but recommended:**
|
|
- Email configuration (for login and notifications)
|
|
- OAuth providers (for social login)
|
|
|
|
### 3. Deploy via Dokploy
|
|
|
|
1. Log into Dokploy: http://192.168.2.130:3000
|
|
2. Create a new project
|
|
3. Upload the compose file: `posse-party-compose.yml`
|
|
4. Upload your `.env` file
|
|
5. Deploy!
|
|
|
|
### 4. Add DNS Record
|
|
|
|
In Technitium DNS (http://192.168.2.130:5380):
|
|
- Add A record: `posseparty.bendtstudio.com` → `192.168.2.130`
|
|
|
|
### 5. Access Posse-Party
|
|
|
|
Once deployed, visit: https://posseparty.bendtstudio.com
|
|
|
|
The first user to register will become the admin.
|
|
|
|
## Services Included
|
|
|
|
- **web**: Rails application server (port 3000)
|
|
- **worker**: Background job processor (Solid Queue)
|
|
- **db**: PostgreSQL database
|
|
- **migrate**: One-time database migration service
|
|
|
|
## Maintenance
|
|
|
|
### Backup Database
|
|
|
|
```bash
|
|
ssh tim@192.168.2.18
|
|
cd /path/to/posse-party
|
|
docker exec posse-party-db-1 pg_dump -U postgres posse_party > backup-$(date +%Y%m%d).sql
|
|
```
|
|
|
|
### View Logs
|
|
|
|
```bash
|
|
ssh tim@192.168.2.18
|
|
docker logs posse-party-web-1 -f
|
|
docker logs posse-party-worker-1 -f
|
|
```
|
|
|
|
### Update to Latest Version
|
|
|
|
```bash
|
|
ssh tim@192.168.2.18
|
|
cd /path/to/posse-party
|
|
docker compose pull
|
|
docker compose up -d
|
|
```
|
|
|
|
## Configuration Details
|
|
|
|
### Email Setup (Optional but Recommended)
|
|
|
|
Posse-Party can send emails for:
|
|
- Account verification
|
|
- Password resets
|
|
- Notifications
|
|
|
|
See the `.env.example` file for supported providers (SendGrid, Mailgun, etc.)
|
|
|
|
### OAuth Setup (Optional)
|
|
|
|
Enable social login by configuring OAuth providers:
|
|
1. Create OAuth app at the provider (GitHub, Google, etc.)
|
|
2. Add callback URL: `https://posseparty.bendtstudio.com/auth/<provider>/callback`
|
|
3. Copy Client ID and Secret to `.env`
|
|
|
|
### S3/MinIO Storage (Optional)
|
|
|
|
By default, uploads are stored locally. To use S3 or MinIO:
|
|
1. Uncomment S3 configuration in `.env`
|
|
2. Set your credentials and bucket name
|
|
3. Redeploy
|
|
|
|
## Troubleshooting
|
|
|
|
### Service Won't Start
|
|
|
|
Check logs:
|
|
```bash
|
|
docker service logs posse-party-web-1 --tail 50
|
|
```
|
|
|
|
### Database Connection Issues
|
|
|
|
Verify database is healthy:
|
|
```bash
|
|
docker ps | grep posse-party-db
|
|
docker logs posse-party-db-1 --tail 20
|
|
```
|
|
|
|
### HTTPS Not Working
|
|
|
|
1. Check DNS record is correct
|
|
2. Verify Traefik labels in compose file
|
|
3. Check Traefik dashboard: http://192.168.2.130:8080
|
|
|
|
## Resources
|
|
|
|
- **Official Repo**: https://github.com/searlsco/posse_party
|
|
- **Documentation**: https://github.com/searlsco/posse_party/tree/main/docs
|
|
- **Website**: https://posseparty.com
|
|
|
|
## Support
|
|
|
|
For Posse-Party specific issues:
|
|
- GitHub Issues: https://github.com/searlsco/posse_party/issues
|
|
|
|
For deployment issues with your homelab:
|
|
- Check your Dokploy logs
|
|
- Review Traefik routing at http://192.168.2.130:8080
|