wire up nginx as reverse proxy, optimize Api dockerfile, etc.

This commit is contained in:
Collin M. Barrett 2019-01-20 17:43:17 -06:00
parent 0136fab879
commit 4d2f3aabce
6 changed files with 35 additions and 31 deletions

View file

@ -1,37 +1,33 @@
version: '3.7'
services:
filterlists.mariadb:
FilterLists.MariaDB:
image: mariadb:latest
restart: always
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: filterlistsdata
MYSQL_USER: filterlists
MYSQL_PASSWORD: C53A28194242D82288E1E84A37E56D3EC7DFF83F1D9E018AF19E9BA27A5DF833
filterlists.api:
image: '${DOCKER_REGISTRY-}filterlistsapi'
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_520_ci']
FilterLists.Api:
image: 'filterlists.api'
build:
context: .
dockerfile: ./src/FilterLists.Api/Dockerfile
dockerfile: src/FilterLists.Api/Dockerfile
expose:
- '5000'
- "80/tcp"
depends_on:
- filterlists.mariadb
filterlists.web:
image: '${DOCKER_REGISTRY-}filterlistsweb'
build:
context: ./src
dockerfile: ./FilterLists.Web/Dockerfile
expose:
- '5001'
depends_on:
- filterlists.api
filterlists.nginx:
- FilterLists.MariaDB
# FilterLists.Web:
# image: 'filterlists.web'
# build:
# context: src/FilterLists.Web
FilterLists.NGINX:
image: 'nginx:stable-alpine'
build:
context: ./ops/nginx
ports:
- '80:80'
- '443:443'
depends_on:
- filterlists.api
- filterlists.web
links:
- FilterLists.Api
# - FilterLists.Web

View file

@ -1,2 +1,2 @@
FROM nginx:mainline-alpine
FROM nginx:stable-alpine
COPY nginx.conf /etc/nginx/nginx.conf

View file

@ -6,7 +6,7 @@ http {
sendfile on;
upstream app_servers {
server filterlists.web:5001;
server FilterLists.Api:80;
}
server {

View file

@ -1,12 +1,21 @@
FROM microsoft/dotnet:2.2-sdk-alpine AS publish
COPY src/FilterLists.Api /FilterLists.Api
COPY src/FilterLists.Data /FilterLists.Data
COPY src/FilterLists.Services /FilterLists.Services
RUN dotnet publish FilterLists.Api/FilterLists.Api.csproj -c Release -o /out
WORKDIR /app
COPY src/FilterLists.Data/FilterLists.Data.csproj ./FilterLists.Data/
COPY src/FilterLists.Services/FilterLists.Services.csproj ./FilterLists.Services/
COPY src/FilterLists.Api/FilterLists.Api.csproj ./FilterLists.Api/
WORKDIR /app/FilterLists.Api
RUN dotnet restore
WORKDIR /app
COPY src/FilterLists.Data/. ./FilterLists.Data/
COPY src/FilterLists.Services/. ./FilterLists.Services/
COPY src/FilterLists.Api/. ./FilterLists.Api/
WORKDIR /app/FilterLists.Api
RUN dotnet publish -c Release -o /out
FROM microsoft/dotnet:2.2-aspnetcore-runtime-alpine
WORKDIR /app
COPY --from=publish /out .
COPY data /data
ENV ASPNETCORE_URLS http://+:5000
EXPOSE 5000
COPY data ./data/
ENV ASPNETCORE_URLS http://+:80
ENTRYPOINT ["dotnet", "FilterLists.Api.dll"]

View file

@ -24,7 +24,6 @@ public static void Main(string[] args)
private static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://localhost:5000")
.UseApplicationInsights()
.UseStartup<Startup>();
}

View file

@ -9,7 +9,7 @@
"InstrumentationKey": ""
},
"ConnectionStrings": {
"FilterListsConnection": "Server=filterlists.db;Database=filterlistsdata;Uid=filterlists;Pwd=C53A28194242D82288E1E84A37E56D3EC7DFF83F1D9E018AF19E9BA27A5DF833;"
"FilterListsConnection": "Server=FilterLists.MariaDB;Database=filterlistsdata;Uid=filterlists;Pwd=C53A28194242D82288E1E84A37E56D3EC7DFF83F1D9E018AF19E9BA27A5DF833;"
},
"DataDirectory": {
"Path": "data"