Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| caff2c9297 | |||
| a691e46be5 | |||
| 0ee5a63bc9 | |||
| f1cf0cae76 | |||
| 900196e9bf | |||
| 9151af0117 | |||
| 26fcd7ad31 | |||
| d7e52e5921 | |||
| 0dfcc51e01 | |||
| 40b2b48a12 | |||
| 716de35564 | |||
| eaf7d67528 | |||
| 89b4300856 | |||
| 32aa6d1534 | |||
| bf5cc78447 | |||
| 388fc0dd15 | |||
| 50603aa9ca | |||
| eb35239bb4 | |||
| 5f8ab1fb32 | |||
| bbfa7fc867 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
/SWA-*/
|
||||
/.*-env
|
||||
/*-db
|
||||
/.hostname
|
||||
/.env
|
||||
|
||||
28
Makefile
28
Makefile
@@ -12,6 +12,8 @@ FRONTEND=swa-jodel/frontend:latest
|
||||
BACKEND=swa-jodel/backend:latest
|
||||
DATABASE=swa-jodel/database:latest
|
||||
|
||||
-include $(ROOT_DIR).env
|
||||
|
||||
help:
|
||||
@echo "[HELP]"
|
||||
@echo "usage: make <command>"
|
||||
@@ -23,16 +25,18 @@ help:
|
||||
|
||||
.PHONY = env
|
||||
env:
|
||||
@echo -e "POSTGRES_USER=\nPOSTGRES_PASSWORD=\n\n\nPOSTGRES_IP=database\nPOSTGRES_DB=Jodel" \
|
||||
> .backend-env
|
||||
@echo -e "POSTGRES_USER=\nPOSTGRES_PASSWORD=\n\nKEYCLOAK_ADMIN=\nKEYCLOAK_ADMIN_PASSWORD=\n\n\nKC_HOSTNAME=keycloak.local.anxietyprime.de\n\nPOSTGRES_IP=keycloak-db\nPOSTGRES_DB=keycloak\nKC_DB_URL_DATABASE=\$$POSTGRES_IP\nKC_DB_USERNAME=\$$POSTGRES_USER\nKC_DB_PASSWORD=\$$POSTGRES_PASSWORD" \
|
||||
> .keycloak-env
|
||||
@echo "POSTGRES_USER=\nPOSTGRES_PASSWORD=\n\n\nPOSTGRES_IP=10.42.0.19\nPOSTGRES_DB=Jodel" \
|
||||
> $(ROOT_DIR).backend-env
|
||||
@echo "POSTGRES_USER=\nPOSTGRES_PASSWORD=\n\nKEYCLOAK_ADMIN=\nKEYCLOAK_ADMIN_PASSWORD=\n\n\nPOSTGRES_IP=10.42.0.11\nPOSTGRES_DB=keycloak\nKC_DB_URL_DATABASE=\$$POSTGRES_IP\nKC_DB_USERNAME=\$$POSTGRES_USER\nKC_DB_PASSWORD=\$$POSTGRES_PASSWORD" \
|
||||
> $(ROOT_DIR).keycloak-env
|
||||
@echo "BASE_URL=local.anxietyprime.de\n\n\nKC_HOSTNAME=keycloak.\$$BASE_URL\nJODEL_HOSTNAME=jodel.\$$BASE_URL\nAPI_HOSTNAME=api.jodel.\$$BASE_URL\n\nPROXY_KC_HOSTNAME=\`\$$KC_HOSTNAME\`\nPROXY_JODEL_HOSTNAME=\`\$$JODEL_HOSTNAME\`\nPROXY_API_HOSTNAME=\`\$$API_HOSTNAME\`\n\nREACT_APP_KC=https://\$$KC_HOSTNAME\nREACT_APP_API=https://\$$API_HOSTNAME" \
|
||||
> $(ROOT_DIR).env
|
||||
|
||||
.PHONY = gitsync
|
||||
gitsync:
|
||||
git --git-dir=$(ROOT_DIR)SWA-frontend/.git pull || git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-frontend.git
|
||||
git --git-dir=$(ROOT_DIR)SWA-backend/.git pull || git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-backend.git
|
||||
git --git-dir=$(ROOT_DIR)SWA-database/.git pull || git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-database.git
|
||||
gitsync: remove_dependencies
|
||||
git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-frontend.git
|
||||
git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-backend.git
|
||||
git --git-dir=$(ROOT_DIR) clone https://git.anxietyprime.de/SWA-Project/SWA-database.git
|
||||
@echo "done"
|
||||
|
||||
.PHONY = build
|
||||
@@ -44,7 +48,7 @@ frontend: gitsync
|
||||
|
||||
.PHONY = backend
|
||||
backend: gitsync
|
||||
docker buildx build --tag $(DOCKER_REGISTRY)$(BACKEND) --load $(ROOT_DIR)SWA-backend
|
||||
docker buildx build --build-arg="KC_HOSTNAME=localhost:8080" --tag $(DOCKER_REGISTRY)$(BACKEND) --load $(ROOT_DIR)SWA-backend
|
||||
|
||||
.PHONY = database
|
||||
database: gitsync
|
||||
@@ -59,11 +63,13 @@ keycloak:
|
||||
@docker tag $(KEYCLOAK_DB_BASE) $(DOCKER_REGISTRY)$(KEYCLOAK_DB)
|
||||
|
||||
.PHONY = clean
|
||||
clean:
|
||||
@rm -fr $(ROOT_DIR)SWA-frontend $(ROOT_DIR)SWA-backend $(ROOT_DIR)SWA-database
|
||||
clean: remove_dependencies
|
||||
@docker image rm $(KEYCLOAK_BASE) || true
|
||||
@docker image rm $(KEYCLOAK_DB_BASE) || true
|
||||
|
||||
.PHONY = remove_dependencies
|
||||
remove_dependencies:
|
||||
@rm -fr $(ROOT_DIR)SWA-frontend $(ROOT_DIR)SWA-backend $(ROOT_DIR)SWA-database
|
||||
|
||||
.PHONY = uninstall
|
||||
uninstall:
|
||||
|
||||
@@ -2,9 +2,10 @@ services:
|
||||
keycloak:
|
||||
image: hub.anxietyprime.de/swa-jodel/keycloak:latest
|
||||
container_name: swa-keycloak
|
||||
command: ["start-dev"]
|
||||
command: ["start"]
|
||||
env_file:
|
||||
- ./.keycloak-env
|
||||
- ./.env
|
||||
environment:
|
||||
KC_DB: postgres
|
||||
KC_DB_SCHEMA: public
|
||||
@@ -24,16 +25,16 @@ services:
|
||||
ipv4_address: 10.42.0.10
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.keycloak.rule=Host(`keycloak.local.anxietyprime.de`)"
|
||||
- "traefik.http.routers.keycloak.rule=Host($PROXY_KC_HOSTNAME)"
|
||||
- "traefik.http.routers.keycloak.entrypoints=websecure"
|
||||
- "traefik.http.routers.keycloak.tls.domains[0].main=keycloak.local.anxietyprime.de"
|
||||
# - "traefik.http.routers.keycloak-web.tls.providers=letsencrypt"
|
||||
- "traefik.http.routers.keycloak.tls.domains[0].main=$KC_HOSTNAME"
|
||||
# - "traefik.http.routers.keycloak.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.keycloak.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.keycloak.service=keycloak"
|
||||
healthcheck:
|
||||
test: echo ""
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
interval: 15s
|
||||
timeout: 15s
|
||||
retries: 30
|
||||
depends_on:
|
||||
keycloak-db:
|
||||
@@ -63,16 +64,18 @@ services:
|
||||
frontend:
|
||||
image: hub.anxietyprime.de/swa-jodel/frontend:latest
|
||||
container_name: swa-frontend
|
||||
env_file:
|
||||
- ./.env
|
||||
expose:
|
||||
- 80
|
||||
networks:
|
||||
swa-public:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.web-jodel.rule=Host(`jodel.local.anxietyprime.de`)"
|
||||
- "traefik.http.routers.web-jodel.rule=Host($PROXY_JODEL_HOSTNAME)"
|
||||
- "traefik.http.routers.web-jodel.entrypoints=websecure"
|
||||
- "traefik.http.routers.web-jodel.tls.domains[0].main=jodel.local.anxietyprime.de"
|
||||
# - "traefik.http.routers.web-jodel.tls.providers=letsencrypt"
|
||||
- "traefik.http.routers.web-jodel.tls.domains[0].main=$JODEL_HOSTNAME"
|
||||
# - "traefik.http.routers.web-jodel.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.web-jodel.loadbalancer.server.port=80"
|
||||
- "traefik.http.routers.web-jodel.service=web-jodel"
|
||||
healthcheck:
|
||||
@@ -90,6 +93,7 @@ services:
|
||||
container_name: swa-backend
|
||||
env_file:
|
||||
- ./.backend-env
|
||||
- ./.env
|
||||
expose:
|
||||
- 8080
|
||||
networks:
|
||||
@@ -100,10 +104,10 @@ services:
|
||||
ipv4_address: 10.42.0.18
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.api-jodel.rule=Host(`api.jodel.local.anxietyprime.de`)"
|
||||
- "traefik.http.routers.api-jodel.rule=Host($PROXY_API_HOSTNAME)"
|
||||
- "traefik.http.routers.api-jodel.entrypoints=websecure"
|
||||
- "traefik.http.routers.api-jodel.tls.domains[0].main=api.jodel.local.anxietyprime.de"
|
||||
# - "traefik.http.routers.api-jodel.tls.providers=letsencrypt"
|
||||
- "traefik.http.routers.api-jodel.tls.domains[0].main=$API_HOSTNAME"
|
||||
# - "traefik.http.routers.api-jodel.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.api-jodel.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.api-jodel.service=api-jodel"
|
||||
healthcheck:
|
||||
|
||||
Reference in New Issue
Block a user