Starting with Docker Image Using SQL Server as Database
Overview¶
This is the procedure for starting Pleasanter from the official Docker image with SQL Server specified as the database.
Cautions¶
- The procedure on this page uses a multi-container configuration that includes the SQL Server container in the same Docker configuration as Pleasanter, for users who want to try Pleasanter right away. This configuration is not intended for production use.
- In production use, the database container becomes a performance bottleneck. We strongly recommend placing the database on a separate host.
- The time zone is set to Japan and the language is set to Japanese. Change them as necessary.
-
The edition of the official SQL Server Docker image (mcr.microsoft.com/mssql/server:2025-latest) is Enterprise Developer Edition by default, but this procedure uses Express Edition. When you need to change the edition, rewrite the value of MSSQL_PID in .env by referring to Microsoft's documentation.
.env -
Connecting to SQL Server requires TLS encryption with a trusted certificate. Note that this procedure skips the verification of the certificate. Set an appropriate certificate in a production environment. For details, refer to "Notes on Connection Strings When Using SQL Server as the Database in Pleasanter".
Prerequisites¶
-
This procedure uses SQL Server as the database. For the procedures that use other databases, refer to the following.
-
This procedure assumes that you can use the official Docker image of Pleasanter and start it with modified parameter files, following the two manuals below. Database creation is not required.
If you have not read them yet, refer to the above manuals and confirm that you can use the official Docker image of Pleasanter and start it with modified parameter files.
Operation Procedure¶
1. Arrange Folders and Files¶
Configure the folders in the project directory (pleasanter in the example below) as follows and arrange the files.
📁 pleasanter
+--📁 app_data_parameters
| +--📄 Rds.json
| +--📄 Service.json
|
+--📁 CodeDefiner
| +--📄 Dockerfile
|
+--📁 Pleasanter
| +--📄 Dockerfile
|
+--📁 SQLServer
| +--📄 Dockerfile
|
|--📄 .env
+--📄 compose.yml
1-1 Parameter Files¶
- Download Pleasanter from the Download Center. Download the latest version unless you have a particular reason not to. When you need a specific version released in the past, download that version of Pleasanter.
- Extract the zip file.
- Copy "Rds.json" and "Service.json" in "\pleasanter\Implem.Pleasanter\App_Data\Parameters" under the extracted folder to the app_data_parameters folder.
- Edit "Rds.json" and "Service.json" as follows.
1-1-1 app_data_parameters/Rds.json¶
- Set the value of "Dbms" to "SQLServer".
-
Set the values of "SaConnectionString", "OwnerConnectionString", and "UserConnectionString" to null.
1-1-2 app_data_parameters/Service.json¶
- Set the value of "TimeZoneDefault" to "Asia/Tokyo". This is because the base image of SQL Server is Linux and the Linux time zone needs to be set.
-
Set the value of "DefaultLanguage" to "ja" (Japanese).
app_data_parameters/Service.json
1-2 CodeDefiner/Dockerfile¶
Create CodeDefiner/Dockerfile with the following content.
| CodeDefiner/Dockerfile | |
|---|---|
1-3 Pleasanter/Dockerfile¶
Create Pleasanter/Dockerfile with the following content.
| Pleasanter/Dockerfile | |
|---|---|
1-4 SQLServer/Dockerfile¶
To enable full-text search, use the SQL Server image as the base and install full-text search.
1-5 .env¶
Modify {{ ... }} to suit your environment. For TrustServerCertificate=true; in the connection strings, refer to this page.
1-6 compose.yaml¶
Create compose.yaml with the following content.
2. Build Container Images¶
Execute the following command. It builds each service (pleasanter, codedefiner, and db). By specifying the --pull option, image updates are checked and the latest images are retrieved.
3. Start Containers¶
Execute the following command. The db container (SQL Server) starts.
Execute the following command. The codedefiner container starts and the database is initialized. Since the time zone and the language are set in Service.json in advance in this procedure, the /l and /z options are not required. To skip the confirmation step before initialization, add the /y option.
4. Start Pleasanter¶
4-1 Start the Pleasanter Container¶
Execute the following command. The Pleasanter container starts.
4-2 Verification¶
-
Access the following URL from a browser.
-
Enter the following on the login screen.
Login ID Password Administrator pleasanter -
After logging in, you are prompted to change the password, so set a password as appropriate.
4-3 Connect to the SQL Server Container¶
You can connect from SSMS or other compatible tools via port 11433 on the host. According to compose.yml, it is mapped to SQL Server (port 1433) inside the container.
5. Stopping and Removing Containers¶
5-1 Stop Containers¶
To stop the containers, execute the following command.
Stopping the containers does not delete the database data (volumes).
5-2 Restart Stopped Containers¶
To restart the stopped containers, execute the following command.
Stopping the containers does not delete the database data (volumes). When restarting, the data can be used as is.
5-3 Remove Containers¶
To remove the containers, execute the following command. Removing the containers does not delete the database data (volumes).
Note that once the containers are removed, they cannot be restarted with docker compose start.
5-4 Recreate Containers¶
To create and start the containers, execute the following command. The db container is created and the database data (volume) can be used.
5-5 Remove the Database Data When Removing Containers¶
To delete the database data (volumes) at the same time as removing the containers, execute the command with the option to remove volumes (-v).
6. Running CodeDefiner After Changing Parameters¶
If you run CodeDefiner after setting parameters, such as when using the System Log Extended Function, follow the steps below.
- Perform step 1 of the operation procedure, store the changed parameter files in app_data_parameters, and create .env and compose.yaml.
-
If Pleasanter is running, execute the following command to stop and remove the containers.
-
Execute the following command to build the pleasanter and codedefiner containers.
-
Run CodeDefiner.
-
Start the pleasanter container.
Related Information¶
Launch with Docker
Use a Docker Image and Start It by Changing the Parameters from the Default
Upgrade the Docker Image of Pleasanter