Files
app-catalog-felhom.eu/templates/crafty-controller/docker-compose.yml
T
admin 87d0e5e59d feat: use ${SUBDOMAIN} variable in all templates
All 51 docker-compose.yml: replaced hardcoded subdomain.${DOMAIN}
with ${SUBDOMAIN}.${DOMAIN} in Traefik labels, app env vars, and
comments.

All 51 .felhom.yml: added SUBDOMAIN deploy field (type: subdomain)
with default matching existing subdomain metadata value.

Works with felhom-controller v0.27.0 which validates and stores the
user-chosen subdomain in app.yaml. Existing deployed apps get
SUBDOMAIN auto-injected via InjectMissingFields() on next sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:06:44 +01:00

52 lines
1.5 KiB
YAML

# Crafty Controller - Minecraft szerver kezelő webes felülettel
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~256M (mem_limit: 2048M) | Pi-compatible: No
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
services:
crafty-controller:
image: registry.gitlab.com/crafty-controller/crafty-4:4.4.8
container_name: crafty-controller
restart: unless-stopped
environment:
- TZ=Europe/Budapest
volumes:
- crafty_backups:/crafty/backups
- crafty_logs:/crafty/logs
- crafty_servers:/crafty/servers
- crafty_config:/crafty/app/config
- crafty_import:/crafty/import
networks:
- traefik-public
deploy:
resources:
limits:
memory: 2048M
healthcheck:
test: ["CMD", "curl", "-fk", "https://localhost:8443"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.crafty-controller.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.crafty-controller.entrypoints=websecure"
- "traefik.http.routers.crafty-controller.tls=true"
- "traefik.http.routers.crafty-controller.tls.certresolver=letsencrypt"
- "traefik.http.services.crafty-controller.loadbalancer.server.port=8443"
volumes:
crafty_backups:
crafty_config:
crafty_import:
crafty_logs:
crafty_servers:
networks:
traefik-public:
external: true