Full-featured CMS including blog, wiki, discussion, etc. Cloud native application that powered by SpringBoot.
- Based on SpringBoot 2.x
- Search support
- OAuth2 integration (weibo, QQ, facebook, etc.)
- SEO support
- REST API
- Customized CSS with UIkit2
- JDK 17
- MySQL 5.7
- Redis 5/6 with RediSearch 2
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
$ mvn -DskipTests=true clean package
Or check build.sh.
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
java -jar itranswarp.jar
Visit http://localhost:2019 for demo.
Search is auto-enabled if RediSearch 2.x is detected. How to install RediSearch in Redis.
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.
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 ││
│ └───────────┘ └────────────┘│
└─────────────────────────────────────────┘