admin/front 분리
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
spring:
|
||||
application:
|
||||
name: api
|
||||
datasource:
|
||||
url: jdbc:log4jdbc:mariadb://121.160.234.222:3000/ALISTLMS?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&connectionCollation=utf8mb4_uca1400_ai_ci
|
||||
username: alist_dev
|
||||
password: 1qaz2wsx!@
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
hikari:
|
||||
maximum-pool-size: 10
|
||||
minimum-idle: 5
|
||||
connection-timeout: 10000
|
||||
idle-timeout: 600000
|
||||
data:
|
||||
redis:
|
||||
host: 121.160.234.222
|
||||
port: 3001
|
||||
password: 1qaz2wsx!@
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: -1
|
||||
max-request-size: -1
|
||||
|
||||
migration:
|
||||
datasource:
|
||||
alist:
|
||||
jdbc-url: jdbc:log4jdbc:sqlserver://bigfuntnp.co.kr:51433;databaseName=alist_dev;encrypt=false;trustServerCertificate=true
|
||||
username: bigfuntnp
|
||||
password: password12!@
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 1
|
||||
connection-timeout: 10000
|
||||
eltown:
|
||||
jdbc-url: jdbc:log4jdbc:sqlserver://bigfuntnp.co.kr:51433;databaseName=eltown;encrypt=false;trustServerCertificate=true
|
||||
username: bigfuntnp
|
||||
password: password12!@
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 1
|
||||
connection-timeout: 10000
|
||||
|
||||
logging:
|
||||
config: classpath:logback-local.xml
|
||||
|
||||
jwt:
|
||||
secret: "F9k3s!29dkF#1lP0X9QZx8eW!2m@0AbD"
|
||||
access-token-validity-seconds: 3600
|
||||
refresh-token-validity-seconds: 2592000
|
||||
|
||||
cookie:
|
||||
secure: false # (HTTP) -> false
|
||||
domain: # (HTTP) -> 비워두세요
|
||||
name: ALIST_SSO
|
||||
same-site: Lax # (HTTP) -> Lax
|
||||
|
||||
swagger:
|
||||
login:
|
||||
id: alist
|
||||
password: "1qaz2wsx!@"
|
||||
|
||||
tus-file:
|
||||
upload:
|
||||
tus-endpoint: https://file-alist.pjt.kr/tus/file/
|
||||
public-base-url: https://file-alist.pjt.kr
|
||||
tmp-root: /srv/project/alist/uploads/tmp
|
||||
final-root: /srv/project/alist/uploads
|
||||
interrupt-seconds: 30
|
||||
auth-cache:
|
||||
ttl-seconds: 20
|
||||
|
||||
# types:
|
||||
# notice:
|
||||
# folder: notice 저장폴더
|
||||
# max-size: 20MB 최대 용량
|
||||
# image-only: false
|
||||
# resize:
|
||||
# enabled: true
|
||||
# width: 800 고정넓이
|
||||
# height: 600 고정높이
|
||||
# max-width: 1200 최대 넓이
|
||||
|
||||
file:
|
||||
upload:
|
||||
view:
|
||||
file-domain: http://localhost:8110
|
||||
root-path: ${tus-file.upload.final-root}
|
||||
max-size: 10MB
|
||||
allowed-extensions: [jpg, jpeg, png, gif, pdf, hwp, hwpx, doc, docx, xls, xlsx, ppt, pptx, txt, csv, zip]
|
||||
types:
|
||||
profile:
|
||||
folder: profile
|
||||
max-size: 5MB
|
||||
image-only: true
|
||||
resize:
|
||||
enabled: true
|
||||
width: 400
|
||||
height: 400
|
||||
notice:
|
||||
folder: notice
|
||||
max-size: 20MB
|
||||
image-only: false
|
||||
resize:
|
||||
enabled: true
|
||||
max-width: 1200
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
|
||||
sso:
|
||||
session:
|
||||
ttl-seconds: 7200
|
||||
code:
|
||||
ttl-seconds: 300
|
||||
cookie:
|
||||
name: ALIST_SSO
|
||||
@@ -0,0 +1,121 @@
|
||||
spring:
|
||||
application:
|
||||
name: api
|
||||
main:
|
||||
banner-mode: log
|
||||
datasource:
|
||||
url: jdbc:log4jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_NAME}?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&connectionCollation=utf8mb4_uca1400_ai_ci
|
||||
username: ${DB_USERNAME}
|
||||
password: ${DB_PASSWORD}
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
hikari:
|
||||
maximum-pool-size: 10
|
||||
minimum-idle: 5
|
||||
connection-timeout: 10000
|
||||
idle-timeout: 600000
|
||||
data:
|
||||
redis:
|
||||
host: ${REDIS_HOST}
|
||||
port: ${REDIS_PORT}
|
||||
password: ${REDIS_PASSWORD}
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: -1
|
||||
max-request-size: -1
|
||||
|
||||
migration:
|
||||
datasource:
|
||||
alist:
|
||||
jdbc-url: jdbc:log4jdbc:sqlserver://${ALIST_DB_HOST}:${ALIST_DB_PORT};databaseName=${ALIST_DB_NAME};encrypt=false;trustServerCertificate=true
|
||||
username: ${ALIST_DB_USERNAME}
|
||||
password: ${ALIST_DB_PASSWORD}
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 1
|
||||
connection-timeout: 10000
|
||||
eltown:
|
||||
jdbc-url: jdbc:log4jdbc:sqlserver://${ELTOWN_DB_HOST}:${ELTOWN_DB_PORT};databaseName=${ELTOWN_DB_NAME};encrypt=false;trustServerCertificate=true
|
||||
username: ${ELTOWN_DB_USERNAME}
|
||||
password: ${ELTOWN_DB_PASSWORD}
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 1
|
||||
connection-timeout: 10000
|
||||
|
||||
logging:
|
||||
config: classpath:logback-pjt.xml
|
||||
|
||||
jwt:
|
||||
secret: ${JWT_SECRET}
|
||||
access-token-validity-seconds: 3600
|
||||
refresh-token-validity-seconds: 2592000
|
||||
|
||||
cookie:
|
||||
secure: true # 프로젝트 환경 (HTTPS)
|
||||
domain: api-alist.pjt.kr
|
||||
name: ALIST_SSO
|
||||
same-site: None
|
||||
|
||||
swagger:
|
||||
login:
|
||||
id: ${SWAGGER_ID}
|
||||
password: ${SWAGGER_PASSWORD}
|
||||
|
||||
tus-file:
|
||||
upload:
|
||||
tus-endpoint: https://file-alist.pjt.kr/tus/file/
|
||||
public-base-url: https://file-alist.pjt.kr
|
||||
tmp-root: /srv/project/alist/uploads/tmp
|
||||
final-root: /srv/project/alist/uploads
|
||||
interrupt-seconds: 30
|
||||
auth-cache:
|
||||
ttl-seconds: 20
|
||||
|
||||
# types:
|
||||
# notice:
|
||||
# folder: notice 저장폴더
|
||||
# max-size: 20MB 최대 용량
|
||||
# image-only: false
|
||||
# resize:
|
||||
# enabled: true
|
||||
# width: 800 고정넓이
|
||||
# height: 600 고정높이
|
||||
# max-width: 1200 최대 넓이
|
||||
|
||||
file:
|
||||
upload:
|
||||
view:
|
||||
file-domain: https://file-alist.pjt.kr
|
||||
root-path: ${tus-file.upload.final-root}
|
||||
max-size: 10MB
|
||||
allowed-extensions: [jpg, jpeg, png, gif, pdf, hwp, hwpx, doc, docx, xls, xlsx, ppt, pptx, txt, csv, zip]
|
||||
types:
|
||||
profile:
|
||||
folder: profile
|
||||
max-size: 5MB
|
||||
image-only: true
|
||||
resize:
|
||||
enabled: true
|
||||
width: 400
|
||||
height: 400
|
||||
notice:
|
||||
folder: notice
|
||||
max-size: 20MB
|
||||
image-only: false
|
||||
resize:
|
||||
enabled: true
|
||||
max-width: 1200
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
|
||||
sso:
|
||||
session:
|
||||
ttl-seconds: 7200
|
||||
code:
|
||||
ttl-seconds: 300
|
||||
cookie:
|
||||
name: ALIST_SSO
|
||||
@@ -0,0 +1,47 @@
|
||||
server:
|
||||
port: 8112
|
||||
forward-headers-strategy: framework
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: api-front
|
||||
|
||||
springdoc:
|
||||
swagger-ui:
|
||||
path: /swagger-ui.html
|
||||
tags-sorter: alpha # 태그 알파벳 순 정렬
|
||||
operations-sorter: alpha # API 알파벳 순 정렬
|
||||
api-docs:
|
||||
path: /v3/api-docs
|
||||
|
||||
# API version rule: MAJOR.MINOR.PATCH
|
||||
# MAJOR: 기존 API와 호환되지 않는 변경
|
||||
# - 요청/응답 필드명 변경 또는 삭제
|
||||
# - URL, HTTP Method, 인증 방식 변경
|
||||
# - 기존 클라이언트가 수정 없이는 사용할 수 없는 변경
|
||||
#
|
||||
# MINOR: 기존 API와 호환되는 기능 추가
|
||||
# - 신규 API 추가
|
||||
# - 응답 필드 추가
|
||||
# - 선택 요청 파라미터 추가
|
||||
# - 기존 동작을 깨지 않는 기능 확장
|
||||
#
|
||||
# PATCH: 호환성에 영향 없는 수정
|
||||
# - 버그 수정
|
||||
# - 문서/Swagger 설명 수정
|
||||
# - 내부 로직 개선
|
||||
# - 성능 개선
|
||||
api:
|
||||
version: v1.0.1
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,metrics
|
||||
endpoint:
|
||||
health:
|
||||
show-details: always
|
||||
health:
|
||||
db:
|
||||
enabled: false
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
q p ,,
|
||||
db \ / `7MMF' db mm
|
||||
;MM:o=--*--=o MM MM
|
||||
,V^MM. / \ MM `7MM ,pP"Ybd mmMMmm
|
||||
,M `MM d b MM MM 8I `" MM
|
||||
AbmmmqMA MM , MM `YMMMa. MM
|
||||
A' VML MM ,M MM L. I8 MM
|
||||
.AMA. .AMMA. .JMMmmmmMMM .JMML.M9mmmP' `Mbmo
|
||||
|
||||
|
||||
:: ALIST API ::
|
||||
Application : ${spring.application.name}
|
||||
Profile : ${spring.profiles.active}
|
||||
Spring Boot : ${spring-boot.version}
|
||||
Java : ${java.version}
|
||||
Port : ${server.port}
|
||||
PID : ${PID}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
|
||||
<!-- 로그 디렉토리 -->
|
||||
<property name="LOG_PATH" value="/logs" />
|
||||
|
||||
<!-- Spring Boot가 제공하는 %clr / 색상 변환기 등록 -->
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
|
||||
<!-- 콘솔 -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%clr(%d{HH:mm:ss.SSS}){faint} %clr(%5p) %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 콘솔 appender: Boot 기본 제공 -->
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
|
||||
|
||||
<!-- ==== 로컬(local) ==== -->
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
|
||||
<!-- springframework -->
|
||||
<logger name="org.springframework" level="INFO"/>
|
||||
|
||||
<!-- project -->
|
||||
<logger name="com.alist.api" level="DEBUG"/>
|
||||
|
||||
<!-- MyBatis SQL/파라미터 보고 싶으면 DEBUG -->
|
||||
<logger name="org.mybatis" level="DEBUG"/>
|
||||
<logger name="org.apache.ibatis" level="DEBUG"/>
|
||||
|
||||
<!-- log4jdbc -->
|
||||
<logger name="jdbc.sqltiming" level="DEBUG"/>
|
||||
<logger name="jdbc.resultsettable" level="DEBUG"/>
|
||||
<logger name="jdbc.audit" level="OFF"/>
|
||||
<logger name="jdbc.resultset" level="OFF"/>
|
||||
<logger name="jdbc.sqlonly" level="OFF"/>
|
||||
|
||||
</configuration>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
|
||||
<!-- 로그 디렉토리 -->
|
||||
<property name="LOG_PATH" value="/logs" />
|
||||
<property name="LOG_FILE_NAME" value="api-front" />
|
||||
|
||||
<!-- 파일 -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
|
||||
<!-- 현재 로그는 고정 위치 (tail 편함) -->
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
|
||||
<!-- 롤링 파일은 날짜 폴더(yyyy/MM) 하위로 저장 -->
|
||||
<fileNamePattern>
|
||||
${LOG_PATH}/%d{yyyy/MM}/${LOG_FILE_NAME}.log-%d{yyyy-MM-dd}.%i
|
||||
</fileNamePattern>
|
||||
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>50MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
|
||||
<maxHistory>180</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
</rollingPolicy>
|
||||
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} | %-5level | %-15thread | %-40logger{40} | %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- ==== 빅펀개발(pjt) ==== -->
|
||||
<!-- 기본 -->
|
||||
<root level="INFO">
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
|
||||
<!-- springframework -->
|
||||
<logger name="org.springframework" level="WARN"/>
|
||||
|
||||
<!-- project -->
|
||||
<logger name="com.alist.api.front" level="INFO"/>
|
||||
|
||||
<!-- MyBatis -->
|
||||
<logger name="org.mybatis" level="WARN"/>
|
||||
<logger name="org.apache.ibatis" level="WARN"/>
|
||||
|
||||
<!-- log4jdbc -->
|
||||
<logger name="jdbc.sqltiming" level="INFO"/>
|
||||
<logger name="jdbc.resultsettable" level="OFF"/>
|
||||
<logger name="jdbc.audit" level="OFF"/>
|
||||
<logger name="jdbc.resultset" level="OFF"/>
|
||||
<logger name="jdbc.sqlonly" level="OFF"/>
|
||||
|
||||
</configuration>
|
||||
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
Reference in New Issue
Block a user