diff --git a/.env.example b/.env.example
index 14c4bcbf..f0ca0969 100644
--- a/.env.example
+++ b/.env.example
@@ -1,5 +1,5 @@
TVDB__APIKEY=
THEMOVIEDB__APIKEY=
AUTHENTICATION_SECRET=
-POSTGRES_USERNAME=
+POSTGRES_USER=
POSTGRES_PASSWORD=
diff --git a/back/.dockerignore b/back/.dockerignore
index 2209499f..23880f5d 100644
--- a/back/.dockerignore
+++ b/back/.dockerignore
@@ -9,8 +9,10 @@ README.md
src/Kyoo.WebApp/Front/nodes_modules
**/bin
**/obj
+out
docs
tests
+!tests/Kyoo.Tests/Kyoo.Tests.csproj
front
video
nginx.conf.template
diff --git a/back/.gitignore b/back/.gitignore
index f738e8ef..a8d0951a 100644
--- a/back/.gitignore
+++ b/back/.gitignore
@@ -1,3 +1,4 @@
+out
libtranscoder.so
libtranscoder.dylib
transcoder.dll
diff --git a/back/Dockerfile.dev b/back/Dockerfile.dev
new file mode 100644
index 00000000..d407dfa7
--- /dev/null
+++ b/back/Dockerfile.dev
@@ -0,0 +1,36 @@
+FROM gcc:latest as transcoder
+RUN apt-get update && apt-get install -y cmake make libavutil-dev libavcodec-dev libavformat-dev
+WORKDIR /transcoder
+COPY src/Kyoo.Transcoder .
+RUN cmake . && make -j
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0
+RUN apt-get update && apt-get install -y libavutil-dev libavcodec-dev libavformat-dev
+WORKDIR /app
+
+
+COPY Kyoo.sln ./Kyoo.sln
+COPY nuget.config ./nuget.config
+COPY src/Directory.Build.props src/Directory.Build.props
+COPY src/Kyoo.Authentication/Kyoo.Authentication.csproj src/Kyoo.Authentication/Kyoo.Authentication.csproj
+COPY src/Kyoo.Database/Kyoo.Database.csproj src/Kyoo.Database/Kyoo.Database.csproj
+COPY src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj
+COPY src/Kyoo.SqLite/Kyoo.SqLite.csproj src/Kyoo.SqLite/Kyoo.SqLite.csproj
+COPY src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj
+COPY src/Kyoo.Abstractions/Kyoo.Abstractions.csproj src/Kyoo.Abstractions/Kyoo.Abstractions.csproj
+COPY src/Kyoo.Core/Kyoo.Core.csproj src/Kyoo.Core/Kyoo.Core.csproj
+COPY src/Kyoo.Host.Console/Kyoo.Host.Console.csproj src/Kyoo.Host.Console/Kyoo.Host.Console.csproj
+COPY src/Kyoo.Postgresql/Kyoo.Postgresql.csproj src/Kyoo.Postgresql/Kyoo.Postgresql.csproj
+COPY src/Kyoo.Swagger/Kyoo.Swagger.csproj src/Kyoo.Swagger/Kyoo.Swagger.csproj
+COPY src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj
+COPY tests/Kyoo.Tests/Kyoo.Tests.csproj tests/Kyoo.Tests/Kyoo.Tests.csproj
+
+RUN dotnet restore
+
+COPY --from=transcoder /transcoder/libtranscoder.so /usr/lib/
+
+EXPOSE 5000
+ENV DOTNET_USE_POLLING_FILE_WATCHER 1
+ENV LD_DEBUG libs
+CMD ["dotnet", "watch", "run", "--no-restore", "--project", "src/Kyoo.Host.Console"]
+
diff --git a/back/Kyoo.sln b/back/Kyoo.sln
index bd8e4e15..9ebdae65 100644
--- a/back/Kyoo.sln
+++ b/back/Kyoo.sln
@@ -81,10 +81,6 @@ Global
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Release|Any CPU.Build.0 = Release|Any CPU
- {98851001-40DD-46A6-94B3-2F8D90722076}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {98851001-40DD-46A6-94B3-2F8D90722076}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {98851001-40DD-46A6-94B3-2F8D90722076}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {98851001-40DD-46A6-94B3-2F8D90722076}.Release|Any CPU.Build.0 = Release|Any CPU
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -106,7 +102,6 @@ Global
{3213C96D-0BF3-460B-A8B5-B9977229408A} = {865461CA-EC06-4B42-91CF-8723B0A9BB67}
{6515380E-1E57-42DA-B6E3-E1C8A848818A} = {865461CA-EC06-4B42-91CF-8723B0A9BB67}
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
- {98851001-40DD-46A6-94B3-2F8D90722076} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
{0938459E-2E2B-457F-8120-7D8CA93866A6} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
EndGlobalSection
EndGlobal
diff --git a/back/src/Directory.Build.props b/back/src/Directory.Build.props
index b13c6d17..9e277f26 100644
--- a/back/src/Directory.Build.props
+++ b/back/src/Directory.Build.props
@@ -23,11 +23,19 @@
true
+
+ $(MsBuildThisFileDirectory)/../out/obj/$(MSBuildProjectName)
+ $(MsBuildThisFileDirectory)/../out/bin/$(MSBuildProjectName)
+
+
true
true
true
+
+ true
+
true
diff --git a/stylecop.json b/back/stylecop.json
similarity index 100%
rename from stylecop.json
rename to back/stylecop.json
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index 50a1b9e5..3894eb5f 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -5,24 +5,33 @@ services:
build:
context: ./back
dockerfile: Dockerfile.dev
+ ports:
+ - "5000:5000"
restart: on-failure
environment:
- KYOO_DATADIR=/var/lib/kyoo
- DATABASE__ENABLED=postgres
- DATABASE__CONFIGURATIONS__POSTGRES__SERVER=postgres
- - DATABASE__CONFIGURATIONS__POSTGRES__USER=kyoo
- - DATABASE__CONFIGURATIONS__POSTGRES__PASSWORD=kyooPassword
+ - DATABASE__CONFIGURATIONS__POSTGRES__USER=${POSTGRES_USER}
+ - DATABASE__CONFIGURATIONS__POSTGRES__PASSWORD=${POSTGRES_PASSWORD}
- TVDB__APIKEY=${TVDB__APIKEY}
- THEMOVIEDB__APIKEY=${THEMOVIEDB__APIKEY}
depends_on:
- postgres
volumes:
+ - ./back:/app
+ - /app/out
- kyoo:/var/lib/kyoo
- ./video:/video
front:
build:
context: ./front
dockerfile: Dockerfile.dev
+ volumes:
+ - ./front:/app
+ - /app/nodes_modules
+ ports:
+ - "3000:3000"
restart: on-failure
environment:
- KYOO_URL=http://kyoo:5000
@@ -31,7 +40,7 @@ services:
restart: on-failure
environment:
- PORT=8901
- - FRONT_URL=http://front:8901
+ - FRONT_URL=http://front:3000
- BACK_URL=http://kyoo:5000
volumes:
- ./nginx.conf.template:/etc/nginx/templates/kyoo.conf.template:ro
@@ -44,8 +53,8 @@ services:
image: "postgres"
restart: on-failure
environment:
- - POSTGRES_USER=kyoo
- - POSTGRES_PASSWORD=kyooPassword
+ - POSTGRES_USER=${POSTGRES_USER}
+ - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- db:/var/lib/postgresql/data
diff --git a/front/.dockerignore b/front/.dockerignore
index c5500558..f99434f2 100644
--- a/front/.dockerignore
+++ b/front/.dockerignore
@@ -1,5 +1,8 @@
Dockerfile
+Dockerfile.dev
.dockerignore
+.eslintrc.json
+.gitignore
node_modules
npm-debug.log
README.md
diff --git a/front/Dockerfile.dev b/front/Dockerfile.dev
new file mode 100644
index 00000000..98d8bcb4
--- /dev/null
+++ b/front/Dockerfile.dev
@@ -0,0 +1,10 @@
+FROM node:16-alpine AS builder
+WORKDIR /app
+
+COPY package.json yarn.lock ./
+RUN yarn --frozen-lockfile
+
+ENV NEXT_TELEMETRY_DISABLED 1
+EXPOSE 3000
+ENV PORT 3000
+CMD ["yarn", "dev"]