diff --git a/new/README.md b/new/README.md index 8be9089..5f47527 100644 --- a/new/README.md +++ b/new/README.md @@ -16,4 +16,5 @@ Right now the global secrets are ``` KILLUA_BOT_TOKEN= +HUGO_CHAT_DB_PASSWORD= ``` diff --git a/new/vps2/Caddyfile b/new/vps2/Caddyfile index c139ee9..d2701ef 100644 --- a/new/vps2/Caddyfile +++ b/new/vps2/Caddyfile @@ -3,6 +3,32 @@ # acme_ca https://api.letsencrypt.org/directory } +# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3 +(cors) { + @cors_preflight{args.0} method OPTIONS + @cors{args.0} header Origin {args.0} + + handle @cors_preflight{args.0} { + header { + Access-Control-Allow-Origin "{args.0}" + Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS" + Access-Control-Allow-Credentials "false" + Access-Control-Allow-Headers * + Access-Control-Max-Age "86400" + defer + } + respond "" 204 + } + + handle @cors{args.0} { + header { + Access-Control-Allow-Origin "{args.0}" + Access-Control-Expose-Headers * + defer + } + } +} + vps2.nilstrieb.dev { root * /var/www/html/debug file_server @@ -11,3 +37,12 @@ vps2.nilstrieb.dev { docker.nilstrieb.dev { reverse_proxy * localhost:5000 } + +api.hugo-chat.nilstrieb.dev { + import cors https://hugo-chat.nilstrieb.dev + reverse_proxy * localhost:5001 +} + +hugo-chat.nilstrieb.dev { + reverse_proxy * localhost:5002 +} diff --git a/new/vps2/docker-compose.yml b/new/vps2/docker-compose.yml index b7ba49c..e33c3dc 100644 --- a/new/vps2/docker-compose.yml +++ b/new/vps2/docker-compose.yml @@ -28,5 +28,34 @@ services: environment: BOT_TOKEN: "${KILLUA_BOT_TOKEN}" KILLUA_JSON_PATH: /app/config/trivia_questions.json + hugo_chat_db: + container_name: hugo-chat-db + image: "postgres:latest" + restart: always + ports: + - "5432:5432" + environment: + POSTGRES_PASSWORD: "${HUGO_CHAT_DB_PASSWORD}" + networks: + - internal + hugo_chat_server: + container_name: hugo-chat-server + image: "docker.nilstrieb.dev/hugo-chat-server:63bd1922" + ports: + - "5001:8080" + environment: + SPRING_DATASOURCE_URL: "jdbc:postgresql://hugo-chat-db:5432/postgres" + SPRING_DATASOURCE_PASSWORD: "${HUGO_CHAT_DB_PASSWORD}" + networks: + - internal + hugo_chat_client: + container_name: hugo-chat-client + image: "docker.nilstrieb.dev/hugo-chat-client:63bd1922" + restart: always + ports: + - "5002:80" # TODO: create an internal network and move caddy there as well. + +networks: + internal: diff --git a/run_scripts/hugo-chat.sh b/run_scripts/hugo-chat.sh index 1b0475d..f323dc1 100644 --- a/run_scripts/hugo-chat.sh +++ b/run_scripts/hugo-chat.sh @@ -1,5 +1,8 @@ -docker run --net internal --name hugo-chat-frontend -d --restart=always docker.nilstrieb.dev/hugo-chat-frontend:1.0 +docker run --net internal --name hugo-chat-frontend \ + -d --restart=always docker.nilstrieb.dev/hugo-chat-frontend:1.0 -docker run --net internal --name hugo-chat-db -d -e POSTGRES_PASSWORD=huGO123.corsBOSS postgres +docker run --net internal --name hugo-chat-db \ + -d -e POSTGRES_PASSWORD=huGO123.corsBOSS postgres -docker run --net internal --name hugo-chat-backend -d docker.nilstrieb.dev/hugo-chat-backend:1.0 \ No newline at end of file +docker run --net internal --name hugo-chat-backend \ + -d docker.nilstrieb.dev/hugo-chat-backend:1.0 \ No newline at end of file