mirror of
https://github.com/portainer/portainer.git
synced 2026-06-23 02:10:11 +00:00
2.5 KiB
2.5 KiB
Portainer Community Edition
Open-source container management platform with full Docker and Kubernetes support.
Project Structure
For a detailed breakdown of frontend and backend directory layout, feature locations, and common development tasks, see docs/guidelines/project-structure.md.
Frontend Guidelines
- docs/guidelines/frontend-conventions.md — component structure, React Query patterns, shared components, forms, theming
- docs/guidelines/typescript-conventions.md — types, anti-patterns, union types, named constants
- docs/guidelines/frontend-unit-testing.md — Vitest, React Testing Library
Backend Guidelines
- docs/guidelines/go-conventions.md — error handling, naming, testing, code style
- docs/guidelines/server-architecture.md — Clean Architecture layers, transactions, CE/EE sharing patterns
- docs/guidelines/logging.md — zerolog usage, log levels, message style
- docs/guidelines/backend-code-reusability.md — how CE and EE share backend code
Package Manager
- PNPM 10+ (for frontend)
- Go 1.26.1 (for backend)
Build Commands
# Full build
make build # Build both client and server
make build-client # Build React/AngularJS frontend
make build-server # Build Go binary
make build-image # Build Docker image
# Development
make dev # Run both in dev mode
make dev-client # Start webpack-dev-server (port 8999)
make dev-server # Run containerized Go server
# Frontend
pnpm dev # Webpack dev server
pnpm build # Build frontend with webpack
pnpm typecheck # Run typecheck for frontend (with tsc)
pnpm lint # lint frontend (with eslint)
pnpm test # test frontend (with vitest)
pnpm format # format frontend (with prettier)
# Testing
make test # All tests (backend + frontend)
make test-server # Backend tests only
make lint # Lint all code
make format # Format code
Development Servers
- Frontend: http://localhost:8999
- Backend: http://localhost:9000 (HTTP) / https://localhost:9443 (HTTPS)