Skip to content

Commit 466aaab

Browse files
committed
Add Docker support for running samples
1 parent 09c9177 commit 466aaab

File tree

7 files changed

+103
-3
lines changed

7 files changed

+103
-3
lines changed

.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
**/.vs/
2+
**/.vscode/
3+
**/bin/
4+
**/obj/
5+
**/.git/
6+
**/Bynder/Sample/Config.json

Bynder/Sample/Bynder.Sample.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<AssemblyVersion>2.0.0</AssemblyVersion>
66
<FileVersion>2.0.0</FileVersion>
77
<Company>Bynder</Company>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"client_id": "your oauth app client id",
44
"client_secret": "your oauth app client secret",
55
"redirect_uri": "your oauth app redirect uri",
6-
"scopes": "offline asset:read asset:write collection:read"
7-
}
6+
"scopes": "offline asset:read asset:write collection:read collection:write asset.usage:read asset.usage:write meta.assetbank:read meta.assetbank:write meta.workflow:read"
7+
}

Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM mcr.microsoft.com/dotnet/sdk:9.0
2+
3+
WORKDIR /app
4+
5+
COPY . .
6+
7+
RUN dotnet build Bynder/Sample/Bynder.Sample.csproj
8+
9+
# Simple entrypoint to keep container running
10+
ENTRYPOINT ["tail", "-f", "/dev/null"]

Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.PHONY: run-docker stop-docker executeSdkSample rebuild-container
2+
run-docker:
3+
docker-compose up -d
4+
5+
stop-docker:
6+
docker-compose down
7+
8+
executeSdkSample:
9+
docker-compose exec bynder-sdk dotnet run --project Bynder/Sample/Bynder.Sample.csproj -- $(sample-name)
10+
11+
rebuild-container:
12+
docker-compose build
13+
docker-compose up -d
14+
15+
rebuild-project:
16+
docker-compose exec bynder-sdk dotnet build Bynder/Sample/Bynder.Sample.csproj

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,58 @@ dotnet run -- AssetUsage
180180
Methods Used:
181181
* CreateAssetUsage(AssetUsageQuery)
182182
* DeleteAssetUsage(AssetUsageQuery)
183+
184+
## Running Sample Files Using Docker
185+
186+
If you want to avoid .NET version compatibility issues or simplify the setup process, you can use Docker to run the sample files.
187+
188+
### Prerequisites
189+
190+
- [Docker](https://www.docker.com/get-started) installed on your machine
191+
- [Docker Compose](https://docs.docker.com/compose/install/) installed on your machine
192+
193+
### Setting up Docker Environment
194+
195+
##### 1. Create a `Config.json` file in the repository root with your Bynder credentials:
196+
197+
```json
198+
{
199+
"base_url": "https://example.bynder.com",
200+
"client_id": "your oauth app client id",
201+
"client_secret": "your oauth app client secret",
202+
"redirect_uri": "your oauth app redirect uri",
203+
"scopes": "offline asset:read asset:write collection:read collection:write asset.usage:read asset.usage:write meta.assetbank:read meta.assetbank:write meta.workflow:read"
204+
}
205+
```
206+
207+
##### 2. Start the Docker container:
208+
209+
`make run-docker`
210+
211+
##### 3. Run any sample using the make command:
212+
213+
`make executeSdkSample sample-name=BrandsSample`
214+
215+
Available sample names:
216+
217+
* BrandsSample
218+
* MetapropertiesSample
219+
* MetapropertyToMediaSample
220+
* MediaSample
221+
* FindMediaSample
222+
* ModifyMediaSample
223+
* CollectionsSample
224+
* TagsSample
225+
* UploadSample
226+
* AssetUsageSample
227+
228+
##### 4. When you're done, stop the Docker container:
229+
`make stop-docker`
230+
231+
If you make changes to the code, you can rebuild the project within the container:
232+
233+
`make rebuild-project`
234+
235+
Or rebuild the entire container if needed:
236+
237+
`make rebuild-container`

docker-compose.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: '3'
2+
3+
services:
4+
bynder-sdk:
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
network_mode: host
9+
volumes:
10+
- .:/app
11+
- ~/.nuget:/root/.nuget
12+
environment:
13+
- DOTNET_ENVIRONMENT=Development

0 commit comments

Comments
 (0)