# WinterChenS/my-site: a Spring Boot 2.0 personal site with blog and portfolio modules

> my-site packages a personal homepage, a photo portfolio and a blog into one Spring Boot 2.0 application with MyBatis and Thymeleaf, deployed through Docker. It is a learning project that grew into a working site, and the README points new users at a single deployment wiki page.

**WinterChenS/my-site** — springboot2.0开发的个人网站，集成了：个人首页，个人博客，个人作品

- Repository: https://github.com/WinterChenS/my-site
- Stars: 3,496 · Forks: 1,059
- Language: Java
- License: Apache-2.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/winterchens-my-site

## What my-site actually bundles

The README describes my-site as a personal website built with Docker, Spring Boot 2.0, MyBatis and Thymeleaf. Three user-facing areas ship together: a personal homepage, a personal photography portfolio, and a personal blog. The screenshots in the repository cover the index page, an about page, the blog index, a login page and an admin dashboard, so the same application serves both the public site and the writing interface behind it.

The README names three audiences directly. You can run it as your own site, use it as a Spring Boot study project, or treat it as a Docker practice exercise. The author states that it began as a Docker and Spring Boot practice project and was later open sourced. That origin explains the shape of the code: it is a complete, single-purpose application rather than a general publishing platform.

One structural detail matters more than the feature list. The README opens with a link to a separate repository, personal-website, described as a front-end and back-end separated personal homepage. So the project family has two variants, and my-site is the one where Thymeleaf renders pages server side. If you want a decoupled front end, the README points you elsewhere.

## Server-rendered pages, MyBatis persistence and an EhCache layer

The stack is conventional for its generation. Spring Boot 2.0 handles routing and dependency wiring, MyBatis maps SQL to Java objects, and Thymeleaf renders HTML on the server. Because pages are rendered server side, there is no separate API contract to keep in sync, and the admin pages and public pages share the same controllers and templates.

The changelog shows caching being added after launch. An entry dated 2018-05-28 records the addition of EhCache, and a later entry dated 2018-07-12 records fixing a bug where cache caused article updates and deletions not to take effect. A 2021-08-20 entry records fixing remaining cache bugs and fixing a missing click count on portfolio articles. Read together, these entries describe the real trade-off of the design: caching sits in front of article reads, and invalidation on write was the recurring source of defects.

The repository root contains a pom.xml, a src/ directory, a file/ directory, a docker-build.sh script, a doc/ directory holding translated READMEs, and a .github/ directory with workflows. The README shows a CI badge pointing at .github/workflows/main.yml. The doc/ directory holds README_en.md and README_jp.md, so the documentation exists in English and Japanese alongside the Chinese original.

## Deploying my-site with Docker: what the README gives you

The Quick Start section of the README contains exactly one checked item, a link to a wiki page titled how to deploy My Site. The README itself does not reproduce the steps, so the deployment instructions live on that wiki page and nowhere else in the repository text. The repository root does include a docker-build.sh script, which is the build entry point the project ships.

Because the README does not inline the procedure, treat the wiki page as required reading before you run anything. The repository ships the script below; check the wiki page for the arguments and environment it expects.

```bash
bash docker-build.sh
```

The README does not state the exposed port, the image name or the database connection variables, so those values have to come from the wiki page or from the Dockerfile and application configuration in src/. Do not guess them.

Once the application is running, the README's screenshots indicate what you should see: an index page, an about page, a blog index, a login page, and an admin dashboard. The login page is the entry point to the writing interface. The README does not document default credentials, so account creation or seeding has to be confirmed from the wiki or the schema.

## The front-end separated sibling, and when my-site is the wrong choice

The README's first line links to WinterChenS/personal-website, described as a front-end and back-end separated personal homepage. That is the real alternative inside this project family, and the difference is architectural rather than cosmetic. my-site renders HTML with Thymeleaf on the server; the sibling splits the front end from the back end. If you intend to build a separate client, run the site as a static bundle, or consume the content from another application, my-site's server-rendered templates put you on the wrong branch and the sibling is the one to read.

The limitations follow from the project's age and scope. Spring Boot 2.0 is the stated baseline, and the changelog's most recent entry is 2021-08-20. The README lists no releases, and the upgrade path is not described anywhere in the text. There is no documented public API, no plugin or theme system, and no stated migration guide between versions. If your requirement is a maintained CMS with a release cadence and a documented upgrade route, this is the wrong tool.

The cache history is a second caution. Two separate changelog entries describe cache-related defects affecting article updates, deletions and click counts. If your workflow is frequent editing, that layer is the part to exercise hardest before you trust it, and the changelog is the reason to look there first.

## Licence and the cost of keeping it running

The repository is licensed under Apache-2.0, and the README carries a badge linking to an Apache licence. Apache-2.0 permits commercial and private use, modification and redistribution, and it includes an express patent grant. It also requires that you retain the licence and notices and state significant changes. This is a description of the licence text, not legal advice; if you plan to redistribute a modified version, read the LICENSE file in the repository root and take your own advice.

The upgrade cost is harder to pin down because the README does not discuss it. Spring Boot 2.0 is old enough that dependency upgrades involve the framework, MyBatis and Thymeleaf together, and the changelog ends in 2021 without describing a migration. There is no release list to follow. The practical consequence is that adopting my-site means owning the upgrade work yourself; the repository gives you a working baseline, not a maintenance contract.

The README also links a community group and an issue thread where people post their deployed sites. Those are the places the project points to for deployment help, and the issue thread is a reasonable first stop when the wiki page does not cover your environment.

## Conclusion

Adopt my-site if you want a self-hosted personal homepage, portfolio and blog in one Java application, or if you are using it as a Spring Boot and Docker practice target. Do not adopt it if you need a maintained CMS with an upgrade path, or if you expect a documented REST API for a separate front end. Before installing, open the wiki deployment page linked from the README, confirm the database setup it assumes, and check the pom.xml for the Java version your build needs.

## FAQ

### What is WinterChenS/my-site used for?

It is a personal website that combines a personal homepage, a photography portfolio and a blog in one application. The README also presents it as a Spring Boot study project and a Docker practice exercise.

### Where do I find the deployment instructions for my-site?

The Quick Start section of the README contains a single link to a wiki page titled how to deploy My Site. The README does not reproduce the steps itself, so that wiki page is the documented starting point.

### How do I install and start my-site?

The repository ships a docker-build.sh script at the root, and the README points to its wiki page for the deployment procedure. The image name, exposed port and database settings are not stated in the README, so take them from the wiki page or from the Dockerfile and configuration in src/.

### What technology stack does my-site use?

The README names Docker, Spring Boot 2.0, MyBatis and Thymeleaf. EhCache was added later, according to the changelog entry dated 2018-05-28.

### Is there a front-end and back-end separated version of my-site?

Yes. The first line of the README links to WinterChenS/personal-website, described as a front-end and back-end separated personal homepage. my-site itself renders pages with Thymeleaf on the server.

## Sources

- [Issues](https://github.com/WinterChenS/my-site/issues)
- [License: Apache-2.0](https://github.com/WinterChenS/my-site/blob/master/LICENSE)
- [README](https://github.com/WinterChenS/my-site/blob/master/README.md)
- [WinterChenS/my-site on GitHub](https://github.com/WinterChenS/my-site)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/winterchens-my-site
