-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
Full answers to common questions about nself Admin.
- General Questions
- Installation & Setup
- Configuration
- Services
- Database
- Performance
- Security
- Troubleshooting
- Development
- Production
Answer: nself Admin (nAdmin) is a web-based UI wrapper for the nself CLI that provides a visual interface for setting up and managing modern development stacks. It runs in a Docker container and helps you configure, deploy, and monitor services like PostgreSQL, Hasura, Redis, and your custom applications.
Answer: While Docker Compose requires manual configuration file editing, nself Admin provides:
- Visual wizard for configuration
- Pre-configured templates for 40+ frameworks
- Real-time monitoring dashboard
- Automatic service discovery and routing
- Built-in backup and migration tools
- One-click deployment features
Answer: Yes! nself Admin is open-source software licensed under the MIT License. You can use it for personal and commercial projects without any fees.
Answer:
- Docker Desktop (or Docker Engine on Linux)
- 4GB RAM minimum (8GB recommended)
- 10GB free disk space
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Port 3021 available for the UI
Answer: No, nself Admin is designed to run as a Docker container and manages other Docker containers. Docker is a core requirement.
Answer: Run this single command:
docker run -d \
--name nself-admin \
-p 3021:3021 \
-v $(pwd):/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
nself/nself-admin:latestAnswer: Yes! Map to a different port:
# Use port 8080 instead
docker run -d \
--name nself-admin \
-p 8080:3021 \
-v $(pwd):/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
nself/nself-admin:latestThen access at http://localhost:8080
Answer:
# Stop and remove old container
docker stop nself-admin
docker rm nself-admin
# Pull latest image
docker pull nself/nself-admin:latest
# Run new container with same volumes
docker run -d \
--name nself-admin \
-p 3021:3021 \
-v $(pwd):/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
nself/nself-admin:latestAnswer: Yes! Use different names and ports:
# Instance 1
docker run -d --name nself-admin-1 -p 3021:3021 ...
# Instance 2
docker run -d --name nself-admin-2 -p 3022:3021 ...Answer: Configuration files are stored in your project directory:
-
.env.development- Development environment variables -
.env.staging- Staging environment variables -
.env.production- Production environment variables -
docker-compose.yml- Service orchestration -
nadmin.db- nAdmin database (inside container)
Answer: Yes! You can edit .env files and docker-compose.yml directly. After editing:
- Stop services:
docker-compose down - Restart services:
docker-compose up -d - Refresh nAdmin dashboard
Answer: Three methods:
- Via UI: Config → Environment Variables → Add
-
Edit .env file: Add
MY_VAR=value - Docker Compose: Add to service environment section
Answer: Yes! nAdmin can work with existing projects:
- Navigate to your project directory
- Launch nAdmin
- It will detect existing configuration
- Use "Edit Existing" option in wizard
Answer:
-
Development: Edit
.env.development - Production:
- Stop services
- Update password in
.env.production - Update in PostgreSQL:
ALTER USER postgres PASSWORD 'new-password'; - Restart services
Answer: Core Services (Always enabled):
- PostgreSQL - Database
- Hasura - GraphQL API
- Auth - Authentication
- Nginx - Reverse proxy
Optional Services:
- Redis - Caching
- MinIO - Object storage
- Mailpit - Email testing
- MeiliSearch - Search engine
- MLflow - ML tracking
- Monitoring Stack (8 services)
Answer: Yes! The wizard supports:
- 40+ pre-configured templates
- Custom Docker containers
- Any programming language
- Automatic routing configuration
Answer:
- In wizard Step 4, click "Add Service"
- Select "FastAPI" from framework dropdown
- Set port (e.g., 4001)
- Set route (e.g., "api")
- Complete wizard and build
Answer: Yes! Select "Custom Docker" and specify:
- Your Docker image name
- Required environment variables
- Port mappings
- Volume mounts
Answer: Multiple methods:
- Dashboard: Click service → View Logs
-
CLI:
docker-compose logs -f service-name -
API:
GET /api/docker/logs?service=postgres
Answer: From host machine:
psql -h localhost -p 5432 -U postgres -d myappFrom application:
postgres://postgres:password@postgres:5432/myapp
From Hasura:
Automatically configured via DATABASE_URL
Answer:
- Via Hasura Console: Data → Migrations
-
Via CLI:
hasura migrate apply - Via nAdmin: Database → Migrations → Apply
Answer: Manual Backup:
docker exec postgres pg_dump -U postgres myapp > backup.sqlVia nAdmin:
- Database → Backup → Create Backup
- Or enable automated backups in wizard
Answer:
# Restore from file
docker exec -i postgres psql -U postgres myapp < backup.sql
# Via nAdmin
Database → Backup → Select file → RestoreAnswer: Yes! In the wizard:
- Disable the PostgreSQL service
- Set
DATABASE_URLto your external database - Ensure network connectivity
Answer:
- nAdmin itself: 256MB
- Minimum total: 4GB
- Recommended: 8GB+
- Production: 16GB+
Answer:
- Allocate more Docker resources:
- Docker Desktop → Settings → Resources
- Increase CPU and Memory
-
Optimize services:
services: postgres: mem_limit: 2g cpus: '2.0'
-
Enable caching: Add Redis service
-
Use production builds: Set
NODE_ENV=production
Answer: Common causes:
- First run downloads images (normal)
- Insufficient RAM allocated to Docker
- Many services starting simultaneously
- Database initialization on first run
Solutions:
- Increase Docker memory
- Start services sequentially
- Use faster storage (SSD)
Answer:
- Dashboard: Real-time metrics displayed
-
CLI:
docker stats - Grafana: If monitoring stack enabled
-
API:
GET /api/system/metrics
Answer: nAdmin includes security features but requires proper configuration:
- Change all default passwords
- Use SSL/TLS in production
- Enable firewall rules
- Regular security updates
- Implement backup strategy
Answer: Let's Encrypt (Production):
- Set domain in wizard
- Enable SSL in Nginx config
- Provide valid email
- Auto-renewal configured
Custom Certificate:
# Place certificates in nginx/ssl/
nginx/ssl/cert.pem
nginx/ssl/key.pemAnswer:
- Change default password
- Limit connections:
max_connections=100 - Enable SSL:
ssl=on - Restrict network access
- Regular backups
- Audit logging
Answer: Yes! Configure in Auth service:
- Google OAuth
- GitHub OAuth
- Facebook Login
- Custom OIDC providers
Answer: Best practices:
- Never commit
.envfiles - Use Docker secrets in production
- Rotate credentials regularly
- Use secret management tools (Vault, AWS Secrets Manager)
Answer: Check:
# Is Docker running?
docker ps
# Check logs
docker logs nself-admin
# Port conflict?
lsof -i :3021
# Permissions issue?
sudo docker run ...Answer:
- Ensure Docker Desktop is running
- Check socket permissions:
ls -la /var/run/docker.sock sudo chmod 666 /var/run/docker.sock
- Add user to docker group:
sudo usermod -aG docker $USER
Answer: Common fixes:
# Check logs
docker-compose logs service-name
# Remove and recreate
docker-compose down
docker-compose up -d
# Clear volumes (data loss!)
docker-compose down -vAnswer:
# Find process using port
lsof -i :5432
# Kill process
kill -9 <PID>
# Or change port in .env
POSTGRES_PORT=5433Answer:
- Check Docker space:
docker system df - Clean up:
docker system prune -a - Increase memory allocation
- Check network connectivity
- Review error logs
Answer: Hot reload is enabled by default for custom services in development. Ensure:
NODE_ENV=development- Volume mounted correctly
- Using nodemon/webpack-dev-server
Answer: Yes! Select TypeScript variants:
- Express (TS)
- Fastify (TS)
- NestJS (TS)
- Node (TS)
Answer:
-
Enable debug logs:
DEBUG=* -
Attach debugger:
{ "type": "node", "request": "attach", "port": 9229, "remoteRoot": "/app" } - Use dashboard terminal: Shell access to containers
Answer: Yes! Edit /etc/hosts:
127.0.0.1 api.myapp.local
127.0.0.1 app.myapp.local
Answer:
- Build production config: Set environment to "Production"
- Generate files: Complete wizard
- Copy to server: Transfer files
-
Run on server:
docker-compose -f docker-compose.yml \ -f docker-compose.production.yml up -d
Answer: Yes! Export configurations:
- Generate docker-compose.yml
- Use Kompose to convert:
kompose convert -f docker-compose.yml
- Deploy to Kubernetes cluster
Answer:
# Scale horizontally
docker-compose up -d --scale api=3
# Or in docker-compose.yml
services:
api:
deploy:
replicas: 3Answer: nAdmin generated files work with:
- GitHub Actions
- GitLab CI
- Jenkins
- CircleCI
- Any Docker-based CI/CD
Answer: Enable monitoring stack for:
- Prometheus metrics
- Grafana dashboards
- Loki log aggregation
- Alertmanager notifications
We welcome contributions!
- Read Contributing Guide
- Check open issues
- Submit pull requests
- Improve documentation
- Share your workflow
Didn't find your answer? Ask in Discussions
Version: 1.0.0 | Updated: 2026-05-18 05:44 UTC | GitHub