GithubHelp home page GithubHelp logo

elvinyc / itranswarp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaelliao/itranswarp

0.0 0.0 0.0 59.9 MB

Full-featured CMS including blog, wiki, discussion, etc. powered by SpringBoot.

Home Page: https://www.liaoxuefeng.com

License: GNU General Public License v3.0

Shell 0.13% JavaScript 4.50% Java 46.14% Lua 0.26% CSS 26.33% HTML 22.63% Dockerfile 0.02%

itranswarp's Introduction

iTranswarp

Full-featured CMS including blog, wiki, discussion, etc. Cloud native application that powered by SpringBoot.

Github Workflow

Docker Pulls

  • Based on SpringBoot 3.x
  • Search support
  • OAuth2 integration (Weibo, QQ, Facebook, etc.)
  • SEO support
  • REST API
  • Customized CSS with UIkit2

Environment

  • JDK 17
  • MySQL 5.7
  • Redis 5/6 with RediSearch 2

Quick Start

Please check Quick Start Guide.

Run with Docker

Run MySQL, RediSearch in background:

cd dev
docker-compose up -d

Run iTranswarp application:

docker run -d -p 2019:2019 --rm \
  --env-file /path/to/env-file \
  -v /var/log/itranswarp:/var/log/itranswarp \
  --name itranswarp michaelliao/itranswarp:1.4

Build

$ mvn -DskipTests=true clean package

Or check build.sh.

Initialize database

DDL and test data are generated by SchemaBuilder.java.

Create schema:

$ mysql -u root -p < dev/sql/ddl.sql

NOTE: re-run this SQL file will remove all existing data.

Import test data:

$ mysql -u root -p it < dev/sql/init.sql

Run

java -jar itranswarp.jar

Visit http://localhost:2019 for demo.

Search

Search is auto-enabled if RediSearch 2.x is detected. How to install RediSearch in Redis.

Configuration

All configurations are passed by environments:

$ PROFILES=production TIME_ZONE=Asia/Shanghai DOMAIN=www.example.com \
  DB_HOST=localhost DB_PASSWORD=changeit \
  REDIS_HOST=localhost \
  java -jar itranswarp.jar

Please check application.yml for environment variables.

Deploy

iTranswarp is deployed by Docker. Images can be pulled from DockerHub.

                        ┌─────────────────────────────────────────┐
                        │                   VPC                   │
                        │         ┌───────────┐                   │
                        │         │  Docker   │     ┌────────────┐│
        https        ┌──┴──┐      │┌─────────┐│     │  AWS:RDS   ││
◀───────────────────▶│     │ http ││ AWS:ECS ││◀───▶│   MySQL    ││
 https ┌─────┐ https │ ELB │◀────▶│└─────────┘│     └────────────┘│
◀─────▶│ CDN │◀─────▶│     │      │┌─────────┐│     ┌────────────┐│
       └─────┘       └──┬──┘      ││ AWS:ECS ││◀───▶│ElasticCache││
                        │         │└─────────┘│     │   Redis    ││
                        │         └───────────┘     └────────────┘│
                        └─────────────────────────────────────────┘

itranswarp's People

Contributors

michaelliao avatar deppwang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.