A Go boilerplate project with Docker setup for development.
- Go 1.23.3 or later
- Docker and Docker Compose (for development)
- Make (optional, for using Makefile commands)
- Clone the repository:
git clone https://github.com/Gambitier/voidkit-go.git
cd voidkit-go
- Set up environment:
Copy & edit docker.env to customize your settings
# Copy the sample environment file
cp docker.sample.env docker.env
- Start the development environment:
# Start all services (Redis and PostgreSQL)
make up
# Run the Go server
make serve
# Or do both with
make dev
make up
: Start Docker services (Redis and PostgreSQL)make down
: Stop Docker servicesmake serve
: Run the Go server locallymake dev
: Start services and run the server (up + serve)make build
: Build the Go binarymake test
: Run specific test (use TEST=TestName)make tests
: Run all testsmake clean
: Clean up build artifacts and stop servicesmake proto
: Generate protobuf and gRPC codemake logs
: View service logs
The project uses:
- Redis for caching
- PostgreSQL for data storage
- Docker for service containerization
- Make for common development tasks
voidkit-go/
├── cmd/ # Application entry points
├── internal/ # Private application code
├── pkg/ # Public library code
├── tests/ # Test files
├── docker-compose.dev.yml # Development Docker configuration
├── docker.env # Docker environment variables
├── docker.sample.env # Sample Docker environment file
└── Makefile # Development commands