Skip to content

TikFetch/infrastructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TikFetch Infrastructure

Docker and nginx deployment files for TikFetch.


Services

  • tikfetch: Spring Boot application container.
  • mysql: MySQL database for TikFetch.
  • nginx: reverse proxy, media cache, and maintenance page.

First Setup

cp .env.example .env
curl -L https://raw.githubusercontent.com/TikFetch/TikFetch/main/.env.docker.example -o app.env
nano .env
nano app.env
docker compose up -d

The app image and nginx/domain settings are controlled by .env. Spring Boot settings and secrets are controlled by app.env, which is based on TikFetch/.env.docker.example.

TIKFETCH_APP_CONTEXT points to the local TikFetch application repository. On the production server this is usually ../app, so the infrastructure stack can build the Spring Boot Docker image directly from the freshly pulled app source.


Maintenance Mode

./scripts/maintenance-on.sh
./scripts/maintenance-off.sh

When maintenance is on, nginx serves the maintenance page at the same public URL and returns HTTP 503.


Deploy

./scripts/deploy.sh

The deploy script builds the TikFetch image from TIKFETCH_APP_CONTEXT, recreates the app container, and prints container status.

For nginx-only changes, run:

./scripts/deploy-nginx.sh

Important

Secrets must stay in .env and app.env. Do not commit real passwords, JWT secrets, database credentials, Cloudflare tokens, or production-only values.

About

Docker, nginx, and deployment infrastructure for running TikFetch in production.

Topics

Resources

Stars

Watchers

Forks

Contributors