authentikate/docs/guide/quick-start.md
Javier Feliz 9db9b0f6b3
All checks were successful
linter / quality (push) Successful in 3m34s
tests / ci (push) Successful in 7m10s
Got claude started on the docs. Will have to update them heavily
2025-08-03 00:23:06 -04:00

159 lines
4.2 KiB
Markdown

# Quick Start
This guide will get you up and running with AuthentiKate in under 5 minutes.
## Prerequisites
- Docker installed on your system
- A domain name (optional, can use localhost for testing)
## Step 1: Deploy AuthentiKate
Run the following command to start AuthentiKate:
```bash
docker run -d \
--name authentikate \
-p 8080:8080 \
-e APP_URL=http://localhost:8080 \
-v authentikate_data:/var/www/html/storage \
authentikate/authentikate:latest
```
## Step 2: Get Your Admin Credentials
AuthentiKate automatically creates an admin user on first run. Get the credentials from the logs:
```bash
docker logs authentikate
```
Look for output like:
```
✅ Initial admin user created:
Email: admin@authentikate.local
Password: Xy9#mK2$vB8nQ4!p
```
## Step 3: Access the Interface
1. Open your browser and go to `http://localhost:8080`
2. Log in with the admin credentials from Step 2
3. You'll be taken to the AuthentiKate dashboard
## Step 4: Create Your First Application
1. Click **"Applications"** in the navigation
2. Click **"Create Application"**
3. Fill in the details:
- **Name**: `Test App`
- **Redirect URI**: `http://localhost:3000/auth/callback`
- **Client ID**: (auto-generated)
- **Client Secret**: (auto-generated)
4. Click **"Save"**
## Step 5: Test the Integration
Your application is now configured! Here are the OIDC endpoints you'll need:
- **Authorization**: `http://localhost:8080/oauth/authorize`
- **Token**: `http://localhost:8080/oauth/token`
- **User Info**: `http://localhost:8080/oauth/userinfo`
- **JWKS**: `http://localhost:8080/.well-known/jwks.json`
- **Discovery**: `http://localhost:8080/.well-known/openid_configuration`
## Common Integration Examples
### Test with curl
```bash
# Get authorization URL (replace CLIENT_ID with your actual client ID)
CLIENT_ID="your-client-id"
REDIRECT_URI="http://localhost:3000/auth/callback"
echo "Visit this URL to authorize:"
echo "http://localhost:8080/oauth/authorize?client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&response_type=code&scope=openid profile email"
```
### Simple HTML Test Page
Create a simple test page to try the OAuth flow:
```html
<!DOCTYPE html>
<html>
<head>
<title>AuthentiKate Test</title>
</head>
<body>
<h1>AuthentiKate OAuth Test</h1>
<button onclick="authenticate()">Login with AuthentiKate</button>
<script>
function authenticate() {
const clientId = 'your-client-id'; // Replace with your actual client ID
const redirectUri = 'http://localhost:3000/auth/callback';
const authUrl = `http://localhost:8080/oauth/authorize?client_id=${clientId}&redirect_uri=${redirectUri}&response_type=code&scope=openid profile email`;
window.location.href = authUrl;
}
</script>
</body>
</html>
```
## What's Next?
Now that you have AuthentiKate running:
### Configure Your Environment
- [Set up email notifications](/config/email)
- [Configure a custom domain](/config/environment)
- [Set up reverse proxy](/guide/installation#reverse-proxy-setup)
### Add Real Applications
- [Integrate with Grafana](/integrations/grafana)
- [Set up Nextcloud SSO](/integrations/nextcloud)
- [Configure other applications](/integrations/generic)
### Manage Users
- [Create user invitations](/guide/invitations)
- [Set up user profiles](/guide/profiles)
- [Configure user permissions](/guide/users)
### Production Setup
- [Use PostgreSQL/MySQL](/guide/installation#database-options)
- [Set up proper email](/config/email)
- [Configure security settings](/config/security)
## Troubleshooting
### Can't access AuthentiKate?
- Make sure the container is running: `docker ps`
- Check the logs: `docker logs authentikate`
- Verify the port is accessible: `curl http://localhost:8080`
### Forgot admin password?
Reset it by running:
```bash
docker exec -it authentikate php artisan app:create-initial-admin --force
```
### Need to change the URL?
Update the `APP_URL` environment variable and restart:
```bash
docker stop authentikate
docker rm authentikate
# Run again with new APP_URL
```
### Container won't start?
Check for port conflicts:
```bash
# See what's using port 8080
sudo netstat -tulpn | grep 8080
# Use a different port
docker run -d --name authentikate -p 8081:8080 ...
```