1.6 KiB
1.6 KiB
Installation
Prerequisites
- Go 1.27.1 or later
- Docker and Docker Compose (for containerized deployment)
- Node.js and npm (for React frontend development)
- PostgreSQL 15+ (or use Docker)
Local Development
1. Clone the repository
git clone https://github.com/your-organization/go-mad.git
cd go-mad
2. Install dependencies
# Go dependencies
go mod download
# Node dependencies
npm install
3. Set up the database
# Using Docker Compose
make compose-up
# Or manually
createdb mad
# Or set up PostgreSQL with user 'mad' and database 'mad'
4. Configure the application
# Create config.yaml
cp config.example.yaml config.yaml
# Edit config.yaml with your settings
5. Run migrations
make test
# Or run manually
go run ./cmd/go-mad
The application will automatically run migrations on startup.
6. Start the development server
# Development mode with hot reload
make web-dev
# Or run the Go binary
make run
Access the application at http://localhost:8080
Docker Deployment
# Build and start
docker compose up --build -d
# View logs
docker compose logs -f
# Stop
docker compose down
Kubernetes Deployment
helm install go-mad oci://your-registry/go-mad/helm/go-mad
Production Checklist
- Change the default JWT secret
- Configure proper PostgreSQL credentials
- Set up HTTPS/TLS via ingress
- Configure backups for the PostgreSQL data volume
- Set up monitoring and logging
- Review role-based access control settings