Pleasanter is an open-source, .NET-based development platform for building business applications using no-code and low-code approaches. Pleasanter allows rapid creation of internal systems such as:
- CRM
- SFA
- Issue tracking
- Project management
- Document management
- Image databases
The platform provides extensibility through scripts, APIs, and SQL, enabling integration with existing enterprise systems.
- Application development
- No-code business application development
- Low-code customization using scripts
- REST API for integration
- Data management
- Table-based data model
- Table relationships
- Data history tracking
- Status management and workflow
- Visualization
- Calendar
- Gantt chart
- Burndown chart
- Timeseries
- Crosstab
- Kanban board
- Image library
- Collaboration
- Email notifications
- Chat integration (Slack, Teams, etc.)
- Security
- Access control at table / row / column level
- LDAP authentication
- SAML authentication
- Two-factor authentication
- Passkey authentication
- Internationalization (Supported languages)
- English
- Japanese
- Chinese
- German
- Korean
- Spanish
- Vietnamese
- Extensibility
- Front-end JavaScript / CSS extensions
- Server-side JavaScript extensions
- SQL extensions
- API integration
| Component | Supported |
|---|---|
| OS | Windows / Linux |
| Framework | .NET 8 (LTS) / .NET 10 (LTS) |
| Database | SQL Server / PostgreSQL / MySQL |
This section describes how to run Pleasanter locally for evaluation.
Ensure Docker is installed and running before proceeding.
If necessary, run Docker commands with sudo. We use PostgreSQL as a backend database.
-
Create a directory named "pleasanter" in any location and store two files there.
pleasanter/ ├── .env └── compose.yaml -
Configure
.env"{{ ... }}"should be modified accordingly.POSTGRES_VERSION={{PostgreSQL Version}} POSTGRES_VOLUMES_TARGET=/var/lib/postgresql/data POSTGRES_USER={{Sa User}} POSTGRES_PASSWORD={{Sa Password}} POSTGRES_DB={{System DB}} POSTGRES_HOST_AUTH_METHOD=scram-sha-256 POSTGRES_INITDB_ARGS=--encoding=UTF-8 PLEASANTER_VERSION={{Pleasanter Version}} Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString='Server=db;Database={{System DB}};UID={{Sa User}};PWD={{Sa password}}' Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD={{Owner password}}' Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_User;PWD={{User password}}'
-
Configure
compose.yamlservices: db: container_name: postgres image: postgres:${POSTGRES_VERSION} environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_HOST_AUTH_METHOD - POSTGRES_INITDB_ARGS volumes: - type: volume source: pg_data target: ${POSTGRES_VOLUMES_TARGET} pleasanter: container_name: pleasanter image: implem/pleasanter:${PLEASANTER_VERSION} depends_on: - db ports: - '50001:8080' environment: Implem.Pleasanter_Rds_PostgreSQL_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString} Implem.Pleasanter_Rds_PostgreSQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString} Implem.Pleasanter_Rds_PostgreSQL_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString} codedefiner: container_name: codedefiner image: implem/pleasanter:codedefiner depends_on: - db environment: Implem.Pleasanter_Rds_PostgreSQL_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString} Implem.Pleasanter_Rds_PostgreSQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString} Implem.Pleasanter_Rds_PostgreSQL_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString} volumes: pg_data: name: ${COMPOSE_PROJECT_NAME:-default}_pg_data_volume
-
Pull images
docker compose pull
-
Initialize the database
Run CodeDefiner to initialize the database schema.
"{{ ... }}"should be modified accordingly.docker compose run --rm codedefiner _rds /l "{{Language}}" /z "{{Timezone}}"
To suppress prompts, run with the
/yoption.docker compose run --rm codedefiner _rds /l "ja" /z "Asia/Tokyo" /y
-
Start Pleasanter
docker compose up -d pleasanter
Access Pleasanter:
http://localhost:50001Default login:
Login ID Password Administrator pleasanter For security reasons, change the administrator password after the first login.
-
Stop the system
docker compose down
You can try the demo just by registering your email address:
Register Demo (Japanese only)
Official documentation: User Manual (Partially available in English)
Examples of real deployments: User case studies (Japanese only)
Please see: CONTRIBUTING.md for development environment setup and contribution guidelines.
This project is licensed under the AGPL-3.0 license.
Developed by IMPLEM Inc.
