Instance Setup
When you deploy SetGet for the first time, the platform requires an initial configuration before it is ready for use. This guide walks you through every step of the setup process, from creating the first administrator account to verifying that all backend services are correctly connected.
Prerequisites
Before starting the setup wizard, ensure the following services are running and accessible from the SetGet server:
| Service | Purpose | Default Port |
|---|---|---|
| MongoDB | Primary database | 27017 |
| Redis | Cache, queues, real-time coordination | 6379 |
| MinIO / S3 | File storage | 9000 (API), 9001 (Console) |
| SMTP server | Transactional email delivery | 465 or 587 |
Verify connectivity from the SetGet host:
# Test MongoDB
mongosh "mongodb://your-host:27017" --eval "db.runCommand({ ping: 1 })"
# Test Redis
redis-cli -h your-host -p 6379 -a your-password ping
# Test MinIO
curl -s http://your-minio-host:9000/minio/health/liveStep 1: Create the first admin account
Navigate to your SetGet instance URL in a browser. On a fresh deployment, you will be redirected to the setup wizard automatically.
The first screen asks you to create the instance administrator account:
| Field | Description | Required |
|---|---|---|
| Display name | Your name as shown in the UI | Yes |
| Login email address | Yes | |
| Password | Must meet minimum complexity requirements (8+ characters) | Yes |
This account is automatically granted the instance_admin role, giving full access to the Admin Panel.
TIP
Choose a strong, unique password for the first admin account. This account has unrestricted access to every setting, user, and workspace on the instance.
Step 2: Configure SMTP
After creating the admin account, the wizard prompts you to configure email delivery. SMTP is essential for:
- Workspace invitation emails
- Password reset flows
- Magic link authentication
- Notification digests
Enter the following settings:
| Setting | Example | Description |
|---|---|---|
| SMTP Host | smtp.example.com | Your mail server hostname |
| SMTP Port | 465 | Port number (465 for implicit TLS, 587 for STARTTLS) |
| Username | noreply@example.com | SMTP authentication username |
| Password | •••••••• | SMTP authentication password |
| From Email | noreply@example.com | Sender address on outgoing emails |
| From Name | SetGet | Sender display name |
| Use TLS | Yes | Enable TLS encryption |
Click Send Test Email to verify the configuration. A test message will be sent to your admin email address.
WARNING
If you skip SMTP configuration during setup, email-dependent features (invitations, password resets, magic links) will not function. You can configure SMTP later from Email / SMTP Settings.
Step 3: Configure storage
SetGet uses S3-compatible object storage (MinIO recommended) for file uploads, attachments, profile images, and workspace assets.
| Setting | Example | Description |
|---|---|---|
| Storage Endpoint | http://172.19.16.51:9010 | MinIO or S3 endpoint URL |
| Access Key | setget-access-key | Storage access key |
| Secret Key | •••••••• | Storage secret key |
| Public Bucket | setget-public | Bucket for publicly accessible assets |
| Private Bucket | setget-private | Bucket for private files and attachments |
Click Test Connection to verify the storage backend is reachable and the buckets exist.
TIP
If the buckets do not exist yet, create them in MinIO Console or using the mc CLI before testing:
mc alias set setget http://your-minio-host:9010 ACCESS_KEY SECRET_KEY
mc mb setget/setget-public
mc mb setget/setget-private
mc anonymous set download setget/setget-publicStep 4: Configure authentication
The authentication step lets you decide how users will sign in to the instance:
| Option | Default | Description |
|---|---|---|
| Allow sign-up | Enabled | Whether new users can self-register |
| Magic link login | Enabled | Allow passwordless login via email |
| Google OAuth | Disabled | Sign in with Google |
| GitHub OAuth | Disabled | Sign in with GitHub |
You can enable or expand authentication methods later from Authentication Settings. For initial setup, the defaults (email + password, magic link) are sufficient for most deployments.
Step 5: Set instance branding
Optionally customize the instance identity:
| Setting | Description |
|---|---|
| Instance Name | Displayed in the browser tab and email headers |
| Instance URL | The canonical URL of your deployment |
| Logo | Custom logo for the login page and sidebar |
| Favicon | Browser tab icon |
See General Settings for full branding options.
Step 6: Review and finish
The final screen of the wizard shows a summary of your configuration. Review each section and click Complete Setup to finalize.
After setup completes, you are redirected to the main application where you can:
- Create your first workspace.
- Invite team members.
- Start creating projects and work items.
Production readiness checklist
Before opening your SetGet instance to users, verify every item on this checklist:
| Category | Check | Status |
|---|---|---|
| Infrastructure | MongoDB is running and accessible | |
| Infrastructure | Redis is running and accessible | |
| Infrastructure | MinIO/S3 is running with correct buckets | |
| SMTP test email received successfully | ||
| Invitation email sends correctly | ||
| Password reset email sends correctly | ||
| Authentication | Admin can log in with email and password | |
| Authentication | Magic link login works (if enabled) | |
| Authentication | OAuth providers work (if configured) | |
| Storage | File upload works in a test workspace | |
| Storage | Uploaded files are accessible/downloadable | |
| Security | Instance URL uses HTTPS | |
| Security | Admin Panel is accessible only to admins | |
| Security | Firewall rules restrict database and Redis ports | |
| Branding | Instance name and logo are correct | |
| Monitoring | API health endpoint returns 200 | |
| Monitoring | Structured logs are being collected | |
| Backup | MongoDB backup schedule is configured | |
| Backup | MinIO bucket replication or backup is configured |
WARNING
Do not expose MongoDB (27017), Redis (6379), or MinIO API (9000/9010) ports to the public internet. Use firewall rules or network policies to restrict access to the SetGet application server only.
Post-setup configuration
After completing the initial wizard, explore these Admin Panel sections to fine-tune your deployment:
- Security Settings — Configure IP allowlists, session timeouts, and brute-force protection.
- Feature Flags — Enable or disable platform features like chat, AI, and time tracking.
- AI Configuration — Connect an LLM provider for AI-powered features.
- Email Templates — Customize the look and feel of system emails.
- GDPR / KVKK — Set up data retention and compliance policies.
Troubleshooting setup issues
| Problem | Possible cause | Solution |
|---|---|---|
| Setup wizard does not appear | Instance is already configured | Check if an admin account already exists in MongoDB |
| SMTP test fails | Wrong port or missing TLS | Verify port (465 = implicit TLS, 587 = STARTTLS) and enable TLS |
| Storage test fails | Buckets not created | Create buckets manually using MinIO Console or mc CLI |
| Cannot log in after setup | Browser cached old session | Clear cookies and local storage, then retry |
Related pages
- Admin Panel Overview — What the Admin Panel is and how to navigate it
- Email / SMTP Settings — Detailed SMTP configuration
- Storage Configuration — Full storage setup guide
- Authentication Settings — OAuth, SAML, and LDAP configuration
- General Settings — Instance branding and preferences