2024/02/24追記
この記事のDockerfileは古いので、新しく投稿した記事を参考にしてください
※新しく投稿した記事はホストOSがUbuntuなので、もしかしたらWSL上のUbuntuだと不具合があるかもしれません
環境
・OS : Windows11 pro
・WSL2 : Ubuntu 20.04.3 LTS
・Docker: version 20.10.12, build e91ed57
動機
Pleasnterを自分の備忘録として使えないかと思い、Dockerで環境を作りました
作り方
以下のDockerfileを使って
#
# pleasanter -dotnet - sqlserver
#
FROM mcr.microsoft.com/mssql/server
ENV ACCEPT_EULA=Y
ENV MSSQL_PID=Express
ENV SA_PASSWORD=Password1!
USER root
RUN apt-get update && apt-get install -y curl
RUN curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list | tee /etc/apt/sources.list.d/mssql-server.list
RUN apt-get update && \
apt-get install -y \
unzip \
dotnet-sdk-5.0 \
mssql-server-fts
RUN wget https://github.com/Implem/Implem.Pleasanter.NetCore/releases/download/Pleasanter_1.2.24.1/Pleasanter_1.2.24.1.zip
RUN unzip Pleasanter_1.2.24.1.zip
WORKDIR /pleasanter/Implem.Pleasanter
RUN sed -i -e 's/PostgreSQL/SQLServer/g' App_Data/Parameters/Rds.json
RUN sed -i -e 's/Database=postgres/Database=master/g' App_Data/Parameters/Rds.json
RUN sed -i -e 's/UID=postgres/UID=sa/g' App_Data/Parameters/Rds.json
RUN sed -i -e 's/SetSaPWD/'${SA_PASSWORD}'/g' App_Data/Parameters/Rds.json
WORKDIR /pleasanter
CMD ["/opt/mssql/bin/sqlservr"]
この下のコマンドを、上から順に実行します
docker build -t pleasanter-dotnet-sqlserver -f Dockerfile.pleasanter-dotnet-sqlserver .
docker run --name pleasanter-dotnet-sqlserver -p 5000:5000 -d pleasanter-dotnet-sqlserver
docker restart pleasanter-dotnet-sqlserver
docker exec pleasanter-dotnet-sqlserver dotnet /pleasanter/Implem.CodeDefiner/Implem.CodeDefiner.NetCore.dll _rds
docker exec -w /pleasanter/Implem.Pleasanter pleasanter-dotnet-sqlserver dotnet /pleasanter/Implem.Pleasanter/Implem.Pleasanter.NetCore.dll --urls=http://0.0.0.0:5000
これでhttp://localhost:5000/ にアクセスすればPleasanterのログイン画面が表示されます
はまったところ
最初Githubのソースコードからbuildをしようとしましたが、ソースコードからbuildしてhttp://localhost:5000/ にアクセスすると真っ白な画面が表示されその先に進めませんでした
ブラウザの開発者ツールで原因を探ったところ、htmlでvisibility:hiddenとなっている箇所があり、それが原因ではないかと思いましたがそれ以上はわかりませんでした...(これを開発者ツールで修正しても結局その先に進めませんでした)
そのためDockerfileに書いてあるように、https://github.com/Implem/Implem.Pleasanter.NetCore/releases のzipファイルをダウンロードして実行したところうまくいきました(なぜzipから実行するとうまくいくのかはわかりません)
参考