diff --git a/blueprints/fivem/docker-compose.yml b/blueprints/fivem/docker-compose.yml new file mode 100644 index 00000000..162239bf --- /dev/null +++ b/blueprints/fivem/docker-compose.yml @@ -0,0 +1,41 @@ +# docker-compose.yml +# +# IMPORTANT: FiveM Template - Two Deployment Modes +# +# MODE 1: Standard FiveM Server +# - Set LICENSE_KEY environment variable (get free from https://forum.fivem.net/) +# - Leave NO_DEFAULT_CONFIG empty or unset +# - Server configured via /config files +# - No web management interface +# +# MODE 2: txAdmin Web Interface +# - Set NO_DEFAULT_CONFIG=1 +# - DO NOT set LICENSE_KEY (configure via web UI) +# - Access web management at https://your-domain +# - License configured through txAdmin interface +# +# WARNING: Don't mix modes! Setting both LICENSE_KEY and NO_DEFAULT_CONFIG=1 causes errors +# +services: + fivem: + image: spritsail/fivem:latest + restart: unless-stopped + tty: true + stdin_open: true + environment: + - LICENSE_KEY=${license_key} + - RCON_PASSWORD=${rcon_password} + - NO_DEFAULT_CONFIG=${NO_DEFAULT_CONFIG:-} + volumes: + - fivem_config:/config + - fivem_txdata:/txData + ports: + - 30120:30120 + - 30120:30120/udp + - 40120 + labels: + - "traefik.enable=true" + +volumes: + fivem_config: + fivem_txdata: \ No newline at end of file diff --git a/blueprints/fivem/logo.svg b/blueprints/fivem/logo.svg new file mode 100644 index 00000000..f8f2b290 --- /dev/null +++ b/blueprints/fivem/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/blueprints/fivem/template.toml b/blueprints/fivem/template.toml new file mode 100644 index 00000000..6b823eaf --- /dev/null +++ b/blueprints/fivem/template.toml @@ -0,0 +1,17 @@ +[variables] +main_domain = "${domain}" +license_key = "${password:32}" +rcon_password = "${password:16}" + +[config] +env = [ + "LICENSE_KEY=${license_key}", + "RCON_PASSWORD=${rcon_password}", + "NO_DEFAULT_CONFIG=${NO_DEFAULT_CONFIG:-}" +] +mounts = [] + +[[config.domains]] +serviceName = "fivem" +port = 40120 +host = "${main_domain}" \ No newline at end of file diff --git a/meta.json b/meta.json index 6cc5c3c2..b7cdfd5b 100644 --- a/meta.json +++ b/meta.json @@ -1967,6 +1967,24 @@ "self-hosted" ] }, + { + "id": "fivem", + "name": "FiveM Server", + "version": "latest", + "description": "A modded GTA V multiplayer server with optional txAdmin web interface for easy server management.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/spritsail/fivem", + "website": "https://fivem.net/", + "docs": "https://docs.fivem.net/docs/server-manual/" + }, + "tags": [ + "gaming", + "gta", + "multiplayer", + "server" + ] + }, { "id": "flagsmith", "name": "Flagsmith",