791cd4d6af
Build / build (push) Successful in 12m20s
Rebrand the project as Tinyforge to reflect its evolution from a Docker container watcher into a self-hosted mini CI/deployment platform. Rename covers: Go module path, Docker labels, DB/config filenames, JWT issuer, Dockerfile binary, docker-compose, CI workflows, frontend i18n, README with static sites docs, and all code comments.
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
# Tinyforge — Seed Configuration
|
|
#
|
|
# This file is read ONCE on first launch to populate the SQLite database.
|
|
# After import, all configuration is managed via the Web UI.
|
|
# The only required env var is ENCRYPTION_KEY (used to encrypt credentials in DB).
|
|
#
|
|
# Place this file as ./tinyforge.yaml (or set SEED_FILE env var)
|
|
# and start Tinyforge. Once imported, the file is never read again.
|
|
|
|
global:
|
|
# Your base domain — must have a Cloudflare wildcard DNS record (*.domain)
|
|
domain: example.com
|
|
|
|
# The IP address of your Docker host
|
|
server_ip: 192.168.1.100
|
|
|
|
# Docker network that containers will be attached to
|
|
network: staging-net
|
|
|
|
# Pattern for generating subdomains. Available placeholders: {stage}, {project}
|
|
subdomain_pattern: "stage-{stage}-{project}"
|
|
|
|
# Webhook URL for deploy notifications (optional)
|
|
notification_url: https://notify.example.com/webhook
|
|
|
|
# Nginx Proxy Manager connection
|
|
npm:
|
|
url: http://npm:81
|
|
email: admin@example.com
|
|
password: "your-npm-password-here"
|
|
|
|
# Container registries — referenced by name in project definitions
|
|
registries:
|
|
gitea:
|
|
url: https://git.example.com
|
|
type: gitea
|
|
token: "your-registry-token-here"
|
|
|
|
# github:
|
|
# url: https://ghcr.io
|
|
# type: github
|
|
# token: "ghp_your-github-token-here"
|
|
|
|
# Projects to deploy — each project has an image and one or more stages
|
|
projects:
|
|
my-web-app:
|
|
registry: gitea
|
|
image: git.example.com/org/my-web-app
|
|
port: 3000
|
|
healthcheck: /api/health
|
|
|
|
# Environment variables passed to the container
|
|
env:
|
|
NODE_ENV: production
|
|
|
|
# Volume mounts (host:container)
|
|
# volumes:
|
|
# /data/uploads: /app/uploads
|
|
|
|
stages:
|
|
dev:
|
|
tag_pattern: "dev-*"
|
|
auto_deploy: true
|
|
max_instances: 5
|
|
|
|
rel:
|
|
tag_pattern: "v*"
|
|
auto_deploy: false
|
|
max_instances: 2
|
|
|
|
prod:
|
|
tag_pattern: "v*"
|
|
auto_deploy: false
|
|
confirm: true
|
|
promote_from: rel
|
|
max_instances: 2
|
|
# Custom subdomain (instead of the pattern-generated one)
|
|
subdomain: my-app
|