jws-frontend/docker/jws-0.0.2/compose.yaml

240 lines
5.9 KiB
YAML
Raw Normal View History

2024-04-19 12:28:48 +07:00
version: "3.8"
services:
# jws-traefik-v1:
# container_name: jws-traefik-v1
# image: traefik:v2.10
# restart: always
# ports:
# - 4020:80
# volumes:
# - /etc/localtime:/etc/localtime:ro
# - /var/run/docker.sock:/var/run/docker.sock:ro
# - ./traefik.yaml:/traefik.yaml
# - ./routes.yaml:/routes.yaml:rw
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.tf.rule=Host(`jws-treafik-v1.frappet.synology.me`)"
# - "traefik.http.routers.tf.middlewares=user-auth@file"
# - "traefik.http.routers.tf.service=api@internal"
# environment:
# - TZ=Asia/Bangkok
# networks:
# - jws
jws-keycloak-v2:
container_name: jws-keycloak-v2
image: quay.io/keycloak/keycloak:latest
restart: unless-stopped
mem_limit: "1g"
command:
- start-dev
- --proxy=edge
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=1234
- TZ=Asia/Bangkok
ports:
- "18080:8080"
volumes:
- keycloak-data-v2:/opt/keycloak/data
- ./keycloak-themes:/opt/keycloak/themes:rw
networks:
- jws
jws-mariadb-v2:
container_name: jws-mariadb-v2
image: mariadb:lts
restart: unless-stopped
ports:
- 13306:3306
volumes:
- mariadb-data-v2:/var/lib/mysql
environment:
- TZ=Asia/Bangkok
- MARIADB_ROOT_PASSWORD=1234
networks:
- jws
jws-postgres-v2:
container_name: jws-postgres-v2
image: postgres:alpine
restart: unless-stopped
ports:
- 15433:5432
volumes:
- postgres-data-v2:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=1234
networks:
- jws
jws-elasticsearch-v2:
build:
context: .
dockerfile_inline: |
FROM elasticsearch:8.12.0
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install --batch analysis-icu
image: elasticsearch-local:8.12.0
deploy:
resources:
limits:
memory: 1G
restart: unless-stopped
container_name: jws-elasticsearch-v2
ports:
- 19201:9200
volumes:
- elasticsearch-data-v2:/usr/share/elasticsearch/data
environment:
- TZ=Asia/Bangkok
- xpack.security.enabled=false
- discovery.type=single-node
networks:
- jws
jws-kibana-v2:
container_name: jws-kibana-v2
image: kibana:8.12.0
deploy:
resources:
limits:
memory: 1G
restart: unless-stopped
depends_on:
- jws-elasticsearch-v2
ports:
- 15602:5601
volumes:
- kibana-data-v2:/usr/share/kibana/data
environment:
- TZ=Asia/Bangkok
- ELASTICSEARCH_HOSTS=http://jws-elasticsearch-v2:9200
networks:
- jws
jws-rabbitmq-v2:
container_name: jws-rabbitmq-v2
image: rabbitmq:3-management-alpine
restart: unless-stopped
ports:
- 25673:5672
- 35673:15672
volumes:
- rabbitmq-data-v2:/var/lib/rabbitmq
environment:
- TZ=Asia/Bangkok
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=1234
- RABBITMQ_DEFAULT_VHOST=vhost
networks:
- jws
jws-minio-v2:
container_name: jws-minio-v2
image: minio/minio:latest
deploy:
resources:
limits:
memory: 1G
restart: unless-stopped
command: server --console-address ":9001" /data
ports:
- 19002:9000
- 19003:9001
volumes:
- minio-data-v2:/data
environment:
- TZ=Asia/Bangkok
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=12345678
networks:
- jws
jws-n8n-v2:
container_name: jws-n8n-v2
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
ports:
- 15678:5678
# extra_hosts:
# - host.docker.internal:host-gateway
volumes:
- n8n-data-v2:/home/node/.n8n
environment:
- GENERIC_TIMEZONE=Asia/Bangkok
networks:
- jws
# Backend
jws-backend-v2:
container_name: jws-backend-v2
image: docker.frappet.com/jws/jws-backend:version-0.0.2
restart: unless-stopped
depends_on:
- jws-postgres-v2
ports:
- 20008:3000
labels:
- "traefik.enable=true"
- "traefik.http.routers.jws-backend-v2.rule=Host(`jws-v2.frappet.synology.me`) && PathPrefix(`/api`)"
- "traefik.http.routers.jws-backend-v2.entrypoints=unsecure"
environment:
- TZ=Asia/Bangkok
- KC_URL=https://jws-keycloak-v2.frappet.synology.me
- KC_REALM=dev
- KC_SERVICE_ACCOUNT_CLIENT_ID=dev-service
- KC_SERVICE_ACCOUNT_SECRET=ztEypXzLccvk4ngyBRkVactqLJAIDDrs
- APP_HOST=0.0.0.0
- APP_PORT=3000
- MINIO_HOST=jws-minio-v2
- MINIO_PORT=9000
- MINIO_ACCESS_KEY=lN5i4Jsoni8Pp3tfRDBr
- MINIO_SECRET_KEY=eLSOGjnogMJ0SK97SpO6E8gribdDyzloCipklyIH
- MINIO_BUCKET=jws-dev
- ELASTICSEARCH_PROTOCOL=http
- ELASTICSEARCH_HOST=jws-elasticsearch-v2
- ELASTICSEARCH_PORT=9200
- ELASTICSEARCH_INDEX=jws-log-index
- DATABASE_URL=postgresql://postgres:1234@jws-postgres-v2:5432/dev_1?schema=public
# extra_hosts:
# - host.docker.internal:host-gateway
networks:
- jws
# Frontend
jws-frontend-v2:
container_name: jws-frontend-v2
image: docker.frappet.com/jws/jws-frontend:version-0.0.2
restart: unless-stopped
depends_on:
- jws-backend-v2
ports:
- 20009:8080
labels:
- traefik.enable=true
- traefik.http.routers.jws-frontend-v2.rule=Host(`jws-v2.frappet.synology.me`)
- "traefik.http.routers.jws-frontend-v2.entrypoints=unsecure"
environment:
TZ: Asia/Bangkok
API_BASE_URL: https://jws-v2.frappet.synology.me/api
KC_URL: https://jws-keycloak-v2.frappet.synology.me
KC_REALM: dev
KC_CLIENT_ID: dev-service
networks:
- jws
volumes:
keycloak-data-v2:
mariadb-data-v2:
postgres-data-v2:
elasticsearch-data-v2:
kibana-data-v2:
rabbitmq-data-v2:
minio-data-v2:
n8n-data-v2:
networks:
jws:
external: true