75 lines
2.0 KiB
Markdown
75 lines
2.0 KiB
Markdown
# Setup Guide
|
|
|
|
## Initial Setup
|
|
|
|
When you first deploy Sanasto Wiki, you need to create an initial administrator account.
|
|
|
|
### Automatic Setup (Recommended)
|
|
|
|
1. Start the Rails server:
|
|
```bash
|
|
bundle exec rails server
|
|
```
|
|
|
|
2. Navigate to `/setup` in your browser
|
|
|
|
3. Fill in the setup form:
|
|
- **Name**: Your full name
|
|
- **Email**: Your email address (becomes the system default contact)
|
|
- **Preferred Language**: Your primary working language
|
|
- **Password**: At least 12 characters
|
|
- **Confirm Password**: Re-enter your password
|
|
|
|
4. Click "Complete Setup"
|
|
|
|
5. You'll be automatically logged in and redirected to the admin dashboard
|
|
|
|
### What Happens During Setup
|
|
|
|
- Creates your admin account with full permissions
|
|
- Sets you as the default system contact (User.first.email)
|
|
- Creates a `.installed` marker file to prevent re-running setup
|
|
- Automatically logs you in
|
|
- Protects your account from deletion (first user cannot be deleted)
|
|
|
|
### After Setup
|
|
|
|
Once setup is complete:
|
|
- The `/setup` route becomes inaccessible
|
|
- You can access the admin dashboard at `/admin`
|
|
- You can invite other users through the admin interface
|
|
- The first admin user (you) is protected from deletion
|
|
|
|
### Resetting Setup
|
|
|
|
If you need to re-run setup (e.g., in development):
|
|
|
|
```bash
|
|
# Remove the installed marker
|
|
rm .installed
|
|
|
|
# Clear the database (development only!)
|
|
bundle exec rails db:reset
|
|
|
|
# Now you can access /setup again
|
|
```
|
|
|
|
### Production Deployment
|
|
|
|
For production deployment:
|
|
1. Deploy the application
|
|
2. Run migrations: `bundle exec rails db:migrate`
|
|
3. Navigate to your domain's `/setup` route
|
|
4. Complete the setup form
|
|
5. Start inviting contributors
|
|
|
|
The `.installed` file should NOT be committed to version control (it's in .gitignore).
|
|
|
|
### Security Notes
|
|
|
|
- The setup route is only accessible when `.installed` file doesn't exist
|
|
- Password must be at least 12 characters
|
|
- The first admin user cannot be deleted through the UI
|
|
- Setup automatically creates an admin-level account
|
|
- After setup, use the invitation system to add more users
|