added docker for deployment and README for how to
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
.git/
|
||||
.idea/
|
||||
.vs/
|
||||
.vscode/
|
||||
|
||||
**/bin/
|
||||
**/obj/
|
||||
**/TestResults/
|
||||
**/coverage/
|
||||
|
||||
*.user
|
||||
*.suo
|
||||
*.log
|
||||
|
||||
.env
|
||||
.env.*
|
||||
|
||||
Dockerfile
|
||||
docker-compose.yml
|
||||
README.md
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY Guestlist.sln ./
|
||||
COPY Guestlist/Guestlist.csproj Guestlist/
|
||||
RUN dotnet restore Guestlist.sln
|
||||
|
||||
COPY Guestlist/ Guestlist/
|
||||
RUN dotnet publish Guestlist/Guestlist.csproj \
|
||||
--configuration Release \
|
||||
--no-restore \
|
||||
--output /app/publish
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
|
||||
WORKDIR /app
|
||||
|
||||
ENV ASPNETCORE_URLS=http://+:8080
|
||||
EXPOSE 8080
|
||||
|
||||
COPY --from=build /app/publish ./
|
||||
|
||||
ENTRYPOINT ["dotnet", "Guestlist.dll"]
|
||||
@@ -0,0 +1,55 @@
|
||||
# Guestlist
|
||||
|
||||
Minimale Guestlist-App mit Admin/Maintainer-Login, Guest-Access-Code und MongoDB.
|
||||
|
||||
## Schnellstart mit Docker Compose
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
App öffnen:
|
||||
|
||||
```text
|
||||
http://localhost:8080
|
||||
```
|
||||
|
||||
Beim ersten Start:
|
||||
|
||||
```text
|
||||
http://localhost:8080/setup
|
||||
```
|
||||
|
||||
Dort den ersten Admin und den Guest Access Code anlegen.
|
||||
|
||||
## Nützliche Befehle
|
||||
|
||||
Logs anzeigen:
|
||||
|
||||
```bash
|
||||
docker compose logs -f app
|
||||
```
|
||||
|
||||
Stoppen:
|
||||
|
||||
```bash
|
||||
docker compose down
|
||||
```
|
||||
|
||||
Stoppen und MongoDB-Daten löschen:
|
||||
|
||||
```bash
|
||||
docker compose down -v
|
||||
```
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Die App wird im Container über Environment Variables konfiguriert:
|
||||
|
||||
```yaml
|
||||
Mongo__ConnectionString: mongodb://mongo:27017
|
||||
Mongo__DatabaseName: guestlist
|
||||
ASPNETCORE_URLS: http://+:8080
|
||||
```
|
||||
|
||||
MongoDB-Daten liegen im Compose-Volume `mongo_data`.
|
||||
@@ -0,0 +1,28 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: guestlist-app
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Production
|
||||
ASPNETCORE_URLS: http://+:8080
|
||||
Mongo__ConnectionString: mongodb://mongo:27017
|
||||
Mongo__DatabaseName: guestlist
|
||||
depends_on:
|
||||
- mongo
|
||||
|
||||
mongo:
|
||||
image: mongo:7
|
||||
container_name: guestlist-mongo
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- mongo_data:/data/db
|
||||
ports:
|
||||
- "27017:27017"
|
||||
|
||||
volumes:
|
||||
mongo_data:
|
||||
Reference in New Issue
Block a user