From 0a58f2fd825d521693929e9beefccdd92499b0f3 Mon Sep 17 00:00:00 2001 From: Thomas <30439300+ElektronikerDev@users.noreply.github.com> Date: Mon, 25 Dec 2023 21:47:24 +0100 Subject: [PATCH 1/2] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 261eeb9..acd0d46 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2023 DevStorage IT-Services UG (haftungsbeschränkt) & Co. KG, Germany and all contributors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 16aa9e87462992dd3b3d20a58f8c7a71e9fb593e Mon Sep 17 00:00:00 2001 From: Benjamin Kuen Date: Mon, 25 Dec 2023 22:30:44 +0100 Subject: [PATCH 2/2] Add docker and air setup --- .air.toml | 75 +++++++++++++++++++++++++++++++++++ .gitignore | 3 +- Dockerfile | 13 ++++++ docker-compose.yml | 33 +++++++++++++++ internal/pkg/wizardapi/api.go | 2 +- 5 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 .air.toml create mode 100644 Dockerfile diff --git a/.air.toml b/.air.toml new file mode 100644 index 0000000..2596ee4 --- /dev/null +++ b/.air.toml @@ -0,0 +1,75 @@ +# Config file for [Air](https://github.com/cosmtrek/air) in TOML format + +# Working directory +# . or absolute path, please note that the directories following must be under root. +root = "." +tmp_dir = "tmp" + +[build] +# Array of commands to run before each build +pre_cmd = [] +# Just plain old shell command. You could use `make` as well. +cmd = "go build -o ./tmp/main ./cmd/bwizard/." +# Array of commands to run after ^C +post_cmd = [] +# Binary file yields from `cmd`. +bin = "tmp/main" +# Customize binary, can setup environment variables when run your app. +full_bin = "APP_ENV=dev APP_USER=air ./tmp/main" +# Watch these filename extensions. +include_ext = ["go", "tpl", "tmpl", "html"] +# Ignore these filename extensions or directories. +exclude_dir = ["assets", "tmp", "vendor", "web"] +# Watch these directories if you specified. +# include_dir = [] +# Watch these files. +include_file = [] +# Exclude files. +exclude_file = [] +# Exclude specific regular expressions. +exclude_regex = ["_test\\.go"] +# Exclude unchanged files. +exclude_unchanged = true +# Follow symlink for directories +follow_symlink = true +# This log file places in your tmp_dir. +log = "air.log" +# Poll files for changes instead of using fsnotify. +poll = false +# Poll interval (defaults to the minimum interval of 500ms). +poll_interval = 500 # ms +# It's not necessary to trigger build each time file changes if it's too frequent. +delay = 0 # ms +# Stop running old binary when build errors occur. +stop_on_error = true +# Send Interrupt signal before killing process (windows does not support this feature) +send_interrupt = false +# Delay after sending Interrupt signal +kill_delay = 500 # nanosecond +# Rerun binary or not +rerun = false +# Delay after each executions +rerun_delay = 500 +# Add additional arguments when running binary (bin/full_bin). Will run './tmp/main hello world'. +args_bin = [] + +[log] +# Show log time +time = false +# Only show main log (silences watcher, build, runner) +main_only = false + +[color] +# Customize each part's color. If no color found, use the raw app log. +main = "magenta" +watcher = "cyan" +build = "yellow" +runner = "green" + +[misc] +# Delete tmp directory on exit +clean_on_exit = true + +[screen] +clear_on_rebuild = true +keep_scroll = true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 62c8935..f498092 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea/ \ No newline at end of file +.idea/ +tmp/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0acdf8a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +# Choose whatever you want, version >= 1.16 +FROM golang:1.21-alpine + +EXPOSE 8099 + +WORKDIR /app + +RUN go install github.com/cosmtrek/air@latest + +COPY go.mod go.sum ./ +RUN go mod download + +CMD ["air", "-c", ".air.toml"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e69de29..834f380 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -0,0 +1,33 @@ +version: '3.8' + +volumes: + db_data: + +networks: + bwizard: + +services: + db: + image: mariadb + environment: + MYSQL_ROOT_PASSWORD: bwizard + MYSQL_DATABASE: bwizard + MYSQL_USER: bwizard + MYSQL_PASSWORD: bwizard + volumes: + - db_data:/var/lib/mysql + networks: + - bwizard + wizard: + build: + context: . + # Correct the path to your Dockerfile + dockerfile: Dockerfile + ports: + - 8080:3000 + - 8099:8099 + # Important to bind/mount your codebase dir to /app dir for live reload + volumes: + - ./:/app + networks: + - bwizard diff --git a/internal/pkg/wizardapi/api.go b/internal/pkg/wizardapi/api.go index 0d34133..0a263fc 100644 --- a/internal/pkg/wizardapi/api.go +++ b/internal/pkg/wizardapi/api.go @@ -25,5 +25,5 @@ func StartAPIServer() { api.RegisterHandlers(e, handler) - e.Logger.Fatal(e.Start(net.JoinHostPort("127.0.0.1", *port))) + e.Logger.Fatal(e.Start(net.JoinHostPort("0.0.0.0", *port))) }