# 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//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