Docker Compose: Difference between revisions
Jump to navigation
Jump to search
Line 46: | Line 46: | ||
services: | services: | ||
web: | web: | ||
build: . | build: | ||
context: . | |||
dockerfile: Dockerfile | |||
container_name: crawler | container_name: crawler | ||
ports: | |||
- "127.0.0.1:1983:1983" | |||
labels: | labels: | ||
org.chorke.academia.http.spider: "Academia Web Crawler" | org.chorke.academia.http.spider: "Academia Web Crawler" | ||
Line 54: | Line 58: | ||
- redis | - redis | ||
environment: | environment: | ||
- CHORKE_DS_POOLNAME=java:jboss/datasources/PG_http_spider_devDS | - CHORKE_DS_POOLNAME=java:jboss/datasources/PG_http_spider_devDS | ||
- CHORKE_DS_JDBC_URL=jdbc:postgresql://db:5432/academia | - CHORKE_DS_JDBC_URL=jdbc:postgresql://db:5432/academia | ||
Line 64: | Line 67: | ||
- CHORKE_H2_WEBADMIN=false | - CHORKE_H2_WEBADMIN=false | ||
- CHORKE_H2_ALLOWALL=false | - CHORKE_H2_ALLOWALL=false | ||
- CHORKE_JPA_DIALECT=org.hibernate.dialect.PostgreSQLDialect | |||
- CHORKE_JPA_SHOWSQL=false | |||
- CHORKE_GQL_ENABLED=true | |||
- CHORKE_GQL_BROWSER=true | - CHORKE_GQL_BROWSER=true | ||
- CHORKE_LIQ_CONTEXT=dev | - CHORKE_LIQ_CONTEXT=dev | ||
- CHORKE_LOG_ROLLING=WARN | |||
- CHORKE_LOG_CONSOLE=OFF | |||
redis: | redis: | ||
container_name: redis | container_name: redis | ||
image: redis | image: redis | ||
networks: | |||
default: | |||
aliases: | |||
- redis.academia.chorke.org | |||
db: | db: | ||
image: 'postgres:13.1-alpine' | image: 'postgres:13.1-alpine' | ||
networks: | container_name: db | ||
environment: | |||
- POSTGRES_PASSWORD=academia | |||
- POSTGRES_USER=academia | |||
- POSTGRES_DB=academia | |||
networks: | |||
default: | |||
aliases: | |||
- db.academia.chorke.org | |||
networks: | networks: | ||
default: | default: |
Revision as of 06:25, 1 February 2021
Dockerfile
FROM openjdk:8-jdk-alpine
MAINTAINER Chorke, Inc.<[email protected]>
ENV CHORKE_HOME /var/chorke
ENV SPRING_PROFILES_ACTIVE docker
ENV CHORKE_DS_POOLNAME java:jboss/datasources/H2_http_spider_devDS
ENV CHORKE_DS_JDBC_URL jdbc:h2:file:\${user.home}/.chorke/academia/var/h2/\${academia.datasource.database};\
db_close_on_exit=false;mode=MySQL;user=\${academia.datasource.username};password=\${academia.datasource.password}
ENV CHORKE_DS_DBDRIVER org.h2.Driver
ENV CHORKE_DS_DATABASE academia
ENV CHORKE_DS_USERNAME academia
ENV CHORKE_DS_PASSWORD academia
ENV CHORKE_DS_SQLQUERY SELECT 1
ENV CHORKE_H2_WEBADMIN false
ENV CHORKE_H2_ALLOWALL false
ENV CHORKE_JPA_DIALECT org.hibernate.dialect.H2Dialect
ENV CHORKE_JPA_SHOWSQL false
ENV CHORKE_GQL_ENABLED true
ENV CHORKE_GQL_BROWSER true
ENV CHORKE_LIQ_CONTEXT dev
ENV CHORKE_LOG_ROLLING WARN
ENV CHORKE_LOG_CONSOLE OFF
RUN mkdir -p $CHORKE_HOME
WORKDIR $CHORKE_HOME
COPY ./*.jar $CHORKE_HOME/chorke.jar
RUN chmod 755 $CHORKE_HOME/chorke.jar
RUN chmod 644 -R $CHORKE_HOME
VOLUME $HOME/.chorke/academia
EXPOSE 1983
ENTRYPOINT ["java", "-jar", "chorke.jar"]
docker-compose.yml
version: "3.9"
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: crawler
ports:
- "127.0.0.1:1983:1983"
labels:
org.chorke.academia.http.spider: "Academia Web Crawler"
depends_on:
- db
- redis
environment:
- CHORKE_DS_POOLNAME=java:jboss/datasources/PG_http_spider_devDS
- CHORKE_DS_JDBC_URL=jdbc:postgresql://db:5432/academia
- CHORKE_DS_DBDRIVER=org.postgresql.Driver
- CHORKE_DS_DATABASE=academia
- CHORKE_DS_USERNAME=academia
- CHORKE_DS_PASSWORD=academia
- CHORKE_DS_SQLQUERY=SELECT 1
- CHORKE_H2_WEBADMIN=false
- CHORKE_H2_ALLOWALL=false
- CHORKE_JPA_DIALECT=org.hibernate.dialect.PostgreSQLDialect
- CHORKE_JPA_SHOWSQL=false
- CHORKE_GQL_ENABLED=true
- CHORKE_GQL_BROWSER=true
- CHORKE_LIQ_CONTEXT=dev
- CHORKE_LOG_ROLLING=WARN
- CHORKE_LOG_CONSOLE=OFF
redis:
container_name: redis
image: redis
networks:
default:
aliases:
- redis.academia.chorke.org
db:
image: 'postgres:13.1-alpine'
container_name: db
environment:
- POSTGRES_PASSWORD=academia
- POSTGRES_USER=academia
- POSTGRES_DB=academia
networks:
default:
aliases:
- db.academia.chorke.org
networks:
default:
ipam:
config:
- subnet: 10.20.21.0/24
application-docker.yml
################################################################################
# application snake yaml properties
################################################################################
academia:
env:
user:
home: ${user.home}
mode: dev
name: ${user.name}
temp: ${java.io.tmpdir}
datasource:
url: ${CHORKE_DS_JDBC_URL}
database: ${CHORKE_DS_DATABASE}
username: ${CHORKE_DS_USERNAME}
password: ${CHORKE_DS_PASSWORD}
poolname: ${CHORKE_DS_POOLNAME}
server:
tomcat:
basedir: ./target/
spring:
thymeleaf:
mode: HTML
prefix: classpath:/META-INF/thymeleaf/
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: ${academia.datasource.url}
username: ${academia.datasource.username}
password: ${academia.datasource.password}
driver-class-name: ${CHORKE_DS_DBDRIVER}
hikari:
pool-name: ${academia.datasource.poolname}
connection-test-query: ${CHORKE_DS_SQLQUERY}
auto-commit: false
logging:
level:
org.springframework: WARN
org.chorke: INFO
---
spring:
profiles: dev
logging:
level:
org.springframework: WARN
org.chorke: INFO
---
spring:
profiles: uat
logging:
level:
org.springframework: WARN
org.chorke: WARN
---
spring:
profiles: pro
logging:
level:
org.springframework: WARN
org.chorke: WARN
################################################################################
# built on: Sat, Oct 10 2020, 10:10 +0000 by: [email protected]
################################################################################
application-docker.properties
################################################################################
# application properties
################################################################################
spring.jackson.date-format: yyyy-MM-dd'T'HH:mm:ss
spring.servlet.multipart.max-request-size: 10MB
spring.servlet.multipart.max-file-size: 1MB
spring.main.banner-mode: off
spring.profiles.active: dev
server.ssl.key-store: ${user.home}/.chorke/academia/etc/keystore/http/dev/spider.jks
server.ssl.key-store-password: storepasswd
server.ssl.key-password: storepasswd
server.ssl.keyAlias: academia
server.ssl.enabled: false
academia.http.spider.seleniumDriverBasePath: ${user.home}/.chorke/academia/var/selenium/driver
academia.http.spider.seleniumDriverTempPath: ${user.home}/.chorke/academia/tmp/selenium/driver
academia.http.spider.crawlUserAgentString: Finology Crawler (https://academia.com.my/)
academia.http.spider.crawlStorageFolder: ${user.home}/.chorke/academia/tmp/http/spider
academia.http.spider.maxDepthOfCrawling: 2
academia.http.spider.resumableCrawling: false
academia.http.spider.numberOfCrawlers: 7
academia.http.spider.politenessDelay: 200
academia.http.spider.maxPagesToFetch: -1
academia.http.spider.enabledRobots: false
academia.http.spider.enabledChrome: false
spring.jpa.properties.hibernate.dialect: ${CHORKE_JPA_DIALECT}
spring.jpa.properties.hibernate.format_sql: true
spring.jpa.hibernate.ddl-auto: none
spring.jpa.open-in-view: false
spring.jpa.show-sql: ${CHORKE_JPA_SHOWSQL}
spring.cache.ehcache.config: classpath:/META-INF/ehcache/ehcache.xml
spring.cache.cache-names: academia_cache
spring.cache.type: ehcache
spring.h2.console.settings.web-allow-others: ${CHORKE_H2_ALLOWALL}
spring.h2.console.settings.trace: false
spring.h2.console.path: /h2admin
spring.h2.console.enabled: ${CHORKE_H2_WEBADMIN}
graphql.servlet.mapping: /graphql
graphql.servlet.enabled: ${CHORKE_GQL_ENABLED}
graphiql.mapping: /graphiql
graphiql.endpoint: /graphql
graphiql.enabled: ${CHORKE_GQL_BROWSER}
spring.liquibase.enabled: true
spring.liquibase.contexts: ${CHORKE_LIQ_CONTEXT}
spring.liquibase.change-log: classpath:/META-INF/migrations/db.changelog-master.xml
################################################################################
# built on: Sat, Oct 10 2020, 10:10 +0000 by: [email protected]
################################################################################