From 734836dc701a513806d4710d1c52e44ae30bb247 Mon Sep 17 00:00:00 2001 From: Stavros Date: Wed, 17 Jan 2024 15:52:53 +0200 Subject: [PATCH] feat(apps): add crafty controller (#2082) * feat(apps): add crafty controller * fix(crafty): add https to config --- README.md | 1 + apps/crafty/config.json | 25 +++++++++++++++ apps/crafty/docker-compose.yml | 46 ++++++++++++++++++++++++++++ apps/crafty/metadata/description.md | 26 ++++++++++++++++ apps/crafty/metadata/logo.jpg | Bin 0 -> 13413 bytes 5 files changed, 98 insertions(+) create mode 100644 apps/crafty/config.json create mode 100644 apps/crafty/docker-compose.yml create mode 100644 apps/crafty/metadata/description.md create mode 100644 apps/crafty/metadata/logo.jpg diff --git a/README.md b/README.md index 2b2d8187..daa61d83 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Chatpad AI](https://github.com/deiucanta/chatpad) - Not just another ChatGPT user-interface! - [Code-Server](https://github.com/coder/code-server) - Web VS Code - [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem. +- [Crafty Controller](https://gitlab.com/crafty-controller/crafty-4) - Crafty 4 is the next iteration of our Minecraft Server Wrapper / Controller / Launcher. - [Conduit](https://gitlab.com/famedly/conduit) - Conduit is a simple, fast and reliable chat server written in Rust - [Cross-seed](https://github.com/cross-seed/cross-seed) - Fully-automatic, no false positives. - [DailyTXT](https://github.com/PhiTux/DailyTxT) - Encrypted Diary Web-App diff --git a/apps/crafty/config.json b/apps/crafty/config.json new file mode 100644 index 00000000..b2f2f99f --- /dev/null +++ b/apps/crafty/config.json @@ -0,0 +1,25 @@ +{ + "$schema": "../schema.json", + "name": "Crafty", + "available": true, + "exposable": true, + "port": 8456, + "id": "crafty", + "https": true, + "tipi_version": 1, + "version": "4.2.2", + "categories": [ + "gaming" + ], + "description": "Crafty 4 is the next iteration of our Minecraft Server Wrapper / Controller / Launcher.", + "short_desc": "Python based Control Panel for your Minecraft Server", + "author": "Crafty Controller", + "source": "https://gitlab.com/crafty-controller/crafty-4", + "website": "https://craftycontrol.com/", + "form_fields": [], + "supported_architectures": [ + "arm64", + "amd64" + ] + } + \ No newline at end of file diff --git a/apps/crafty/docker-compose.yml b/apps/crafty/docker-compose.yml new file mode 100644 index 00000000..2f92553a --- /dev/null +++ b/apps/crafty/docker-compose.yml @@ -0,0 +1,46 @@ +version: "3.7" +services: + crafty: + container_name: crafty + image: registry.gitlab.com/crafty-controller/crafty-4:4.2.2 + restart: unless-stopped + environment: + - TZ=${TZ} + ports: + - ${APP_PORT}:8443 + - 8123:8123 + - 19132:19132/udp + - 25500-25600:25500-25600 + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data/backups:/crafty/backups + - ${APP_DATA_DIR}/data/logs:/crafty/logs + - ${APP_DATA_DIR}/data/servers:/crafty/servers + - ${APP_DATA_DIR}/data/config:/crafty/app/config + - ${APP_DATA_DIR}/data/import:/crafty/import + labels: + # Main + traefik.enable: true + traefik.http.middlewares.crafty-docs-web-redirect.redirectscheme.scheme: https + traefik.http.services.crafty-docs.loadbalancer.server.port: 8443 + # Web + traefik.http.routers.crafty-docs-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.crafty-docs-insecure.entrypoints: web + traefik.http.routers.crafty-docs-insecure.service: crafty-docs + traefik.http.routers.crafty-docs-insecure.middlewares: crafty-docs-web-redirect + # Websecure + traefik.http.routers.crafty-docs.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.crafty-docs.entrypoints: websecure + traefik.http.routers.crafty-docs.service: crafty-docs + traefik.http.routers.crafty-docs.tls.certresolver: myresolver + # Local domain + traefik.http.routers.crafty-docs-local-insecure.rule: Host(`crafty-docs.${LOCAL_DOMAIN}`) + traefik.http.routers.crafty-docs-local-insecure.entrypoints: web + traefik.http.routers.crafty-docs-local-insecure.service: crafty-docs + traefik.http.routers.crafty-docs-local-insecure.middlewares: crafty-docs-web-redirect + # Local domain secure + traefik.http.routers.crafty-docs-local.rule: Host(`crafty-docs.${LOCAL_DOMAIN}`) + traefik.http.routers.crafty-docs-local.entrypoints: websecure + traefik.http.routers.crafty-docs-local.service: crafty-docs + traefik.http.routers.crafty-docs-local.tls: true \ No newline at end of file diff --git a/apps/crafty/metadata/description.md b/apps/crafty/metadata/description.md new file mode 100644 index 00000000..7a43e3fb --- /dev/null +++ b/apps/crafty/metadata/description.md @@ -0,0 +1,26 @@ +# Crafty Controller 4.2.2 +> Python based Control Panel for your Minecraft Server + +## Credentials + +Default credentials are located in `runtipi/app-data/crafty/config/default-creds.txt` + +## What is Crafty Controller? +Crafty Controller is a Minecraft Server Control Panel / Launcher. The purpose +of Crafty Controller is to launch a Minecraft Server in the background and present +a web interface for the server administrators to interact with their servers. Crafty +is compatible with Docker, Linux, Windows 7, Windows 8 and Windows 10. + +## Documentation +Documentation available on [Crafty Docs](https://docs.craftycontrol.com) + +## Meta +Project Homepage - + +Discord Server - + +Git Repository - + +Docker Hub - [arcadiatechnology/crafty-4](https://hub.docker.com/r/arcadiatechnology/crafty-4) + + diff --git a/apps/crafty/metadata/logo.jpg b/apps/crafty/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3dc8cbc34b15a6b4a1c22b7d9cf06036d7bc2cf4 GIT binary patch literal 13413 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 DJ;>Zr literal 0 HcmV?d00001