LoginSignup
1
0

Docker(WSL2)でPleasanter(SQLServer)環境を作成

Last updated at Posted at 2022-01-15

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を使って

Dockerfile.pleasanter-dotnet-sqlserver
#
# 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から実行するとうまくいくのかはわかりません)

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0