diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 2e5c5bf..0000000 --- a/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# PREREQUISITES -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build -RUN apt update -RUN apt install openssh-server nodejs npm -y - -# CLONE & SETUP -COPY . . -RUN mkdir /data/ -RUN mkdir /data/hamann/ -RUN mkdir /data/xml/ -RUN git clone https://github.com/Theodor-Springmann-Stiftung/hamann-xml.git /data/xml/ - -# COMPILE & PUBLISH -WORKDIR HaWeb/ -RUN dotnet restore -RUN npm install -RUN npm run css_build -RUN dotnet publish --no-restore -o /app - -# RUN -WORKDIR /app -RUN DOTNET_ENVIRONMENT=Docker dotnet HaWeb.dll -EXPOSE 5000 diff --git a/HaWeb/Dockerfile b/HaWeb/Dockerfile new file mode 100644 index 0000000..906953d --- /dev/null +++ b/HaWeb/Dockerfile @@ -0,0 +1,24 @@ +FROM alpine:latest +WORKDIR /app + +RUN apk add --no-cache \ + unzip \ + ca-certificates \ + build-base + +# download and unzip PocketBase +ADD https://go.dev/dl/go1.22.3.linux-amd64.tar.gz /tmp/go.tar.gz +RUN tar -C /usr/local -xzf /tmp/go.tar.gz +RUN export PATH=$PATH:/usr/local/go/bin + +# uncomment to copy the local pb_migrations dir into the image +COPY . . +RUN /usr/local/go/bin/go build -tags "sqlite_fts5 sqlite_json sqlite_foreign_keys sqlite_vtable sqlite_math_functions" +RUN ./myapp migrate --dev +RUN ./myapp migrateimages --dev +RUN ./myapp migratestatics --dev + +EXPOSE 8080 + +# start PocketBase +CMD ["./myapp", "serve", "--http=0.0.0.0:8080"] diff --git a/HaWeb/appsettings.Staging.json b/HaWeb/appsettings.Staging.json index 589dca5..ecc5e01 100644 --- a/HaWeb/appsettings.Staging.json +++ b/HaWeb/appsettings.Staging.json @@ -1,29 +1,28 @@ { - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "FeatureManagement": { - "AdminService": true, - "LocalPublishService": true, - "SyntaxCheck": true, - "Notifications": true - }, - "AllowedWebSocketConnections": "*", - "AllowedHosts": "*", - "HamannFileStoreLinux": "/var/www/vhosts/development.hamann-ausgabe.de/httpdocs/Hamann/", - "BareRepositoryPathLinux": "/var/www/vhosts/development.hamann-ausgabe.de/httpdocs/Bare/", - "BareRepositoryPathWindows": "C:/Users/simon/source/hamann-xml/.git/", - "WorkingTreePathLinux": "/var/www/vhosts/development.hamann-ausgabe.de/httpdocs/Repo/", - "RepositoryBranch": "main", - "RepositoryURL": "https://github.com/Theodor-Springmann-Stiftung/hamann-xml", - "StoredPDFPathWindows": "", - "StoredPDFPathLinux": "", - "FileSizeLimit": 52428800, - "AvailableStartYear": 1700, - "AvailableEndYear": 1800, - "LettersOnPage": 80 - } - \ No newline at end of file + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "FeatureManagement": { + "AdminService": true, + "LocalPublishService": true, + "SyntaxCheck": true, + "Notifications": true + }, + "AllowedWebSocketConnections": "*", + "AllowedHosts": "*", + "HamannFileStoreLinux": "./Hamann", + "BareRepositoryPathLinux": "hamann-xml/.git/", + "BareRepositoryPathWindows": "C:/Users/simon/source/hamann-xml/.git/", + "WorkingTreePathLinux": "hamann-xml/", + "RepositoryBranch": "main", + "RepositoryURL": "https://github.com/Theodor-Springmann-Stiftung/hamann-xml", + "StoredPDFPathWindows": "", + "StoredPDFPathLinux": "", + "FileSizeLimit": 52428800, + "AvailableStartYear": 1700, + "AvailableEndYear": 1800, + "LettersOnPage": 80 +} diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..674e097 --- /dev/null +++ b/dockerfile @@ -0,0 +1,58 @@ +# PREREQUISITES +FROM ubuntu + +COPY . /source + +RUN apt update +RUN apt upgrade -y +RUN apt install git wget curl libicu-dev -y + +RUN wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh +RUN chmod +x dotnet-install.sh +RUN ./dotnet-install.sh --channel 6.0 +ENV DOTNET_DIR=/root/.dotnet + +RUN wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh -O install.sh +RUN chmod +x install.sh +RUN ./install.sh + +ENV NODE_VERSION=22.12.0 +ENV NVM_DIR=/root/.nvm + +ENV PATH="/root/.dotnet:${PATH}" +ENV PATH="/root/.nvm:${PATH}" + +RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION} +RUN . "$NVM_DIR/nvm.sh" && nvm use v${NODE_VERSION} +RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION} +ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}" + +WORKDIR /source/HaWeb +RUN npm install +RUN "$DOTNET_DIR/dotnet" restore +RUN "$DOTNET_DIR/dotnet" publish -c Release -o /app + +WORKDIR /app +CMD ["dotnet", "HaWeb.dll"] + +# RUN apt update +# RUN apt install openssh-server nodejs npm -y +# +# # CLONE & SETUP +# COPY . . +# RUN mkdir /data/ +# RUN mkdir /data/hamann/ +# RUN mkdir /data/xml/ +# RUN git clone https://github.com/Theodor-Springmann-Stiftung/hamann-xml.git /data/xml/ +# +# # COMPILE & PUBLISH +# WORKDIR HaWeb/ +# RUN dotnet restore +# RUN npm install +# RUN npm run css_build +# RUN dotnet publish --no-restore -o /app +# +# # RUN +# WORKDIR /app +# RUN DOTNET_ENVIRONMENT=Docker dotnet HaWeb.dll +# EXPOSE 5000