{"id":26940583,"url":"https://github.com/joanroig/admincraft-websocket","last_synced_at":"2025-04-02T15:19:05.779Z","repository":{"id":255744834,"uuid":"853060906","full_name":"joanroig/admincraft-websocket","owner":"joanroig","description":"WebSocket server to control Minecraft Bedrock Dockerized servers with Admincraft.","archived":false,"fork":false,"pushed_at":"2025-01-18T17:44:10.000Z","size":40,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T18:44:49.614Z","etag":null,"topics":["admincraft","docker","docker-minecraft","minecraft-bedrock","minecraft-docker","minecraft-server","minecraft-server-management","websocket"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/joanroig/admincraft-websocket","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joanroig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-05T23:15:42.000Z","updated_at":"2025-01-18T17:44:12.000Z","dependencies_parsed_at":"2024-09-07T00:09:10.170Z","dependency_job_id":"b7ff5fbe-46b2-4153-8a36-acfd0ed89bfc","html_url":"https://github.com/joanroig/admincraft-websocket","commit_stats":null,"previous_names":["joanroig/admincraft-websocket"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanroig%2Fadmincraft-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanroig%2Fadmincraft-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanroig%2Fadmincraft-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanroig%2Fadmincraft-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joanroig","download_url":"https://codeload.github.com/joanroig/admincraft-websocket/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246837628,"owners_count":20841906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admincraft","docker","docker-minecraft","minecraft-bedrock","minecraft-docker","minecraft-server","minecraft-server-management","websocket"],"created_at":"2025-04-02T15:19:05.262Z","updated_at":"2025-04-02T15:19:05.772Z","avatar_url":"https://github.com/joanroig.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/joanroig/admincraft-websocket\"\u003e\n      \u003cimg alt=\"Admincraft WebSocket logo\" src=\"logo.png\" width=\"140px\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  Admincraft WebSocket\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  WebSocket server to control Minecraft Bedrock Dockerized servers with \u003ca href=\"https://github.com/joanroig/admincraft\"\u003eAdmincraft\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/joanroig/admincraft\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Admincraft-339933?style=flat-square\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABfUlEQVR4AW2SvU5CQRCFJ2ZbKPCHiDWGhsJYGOgNnQVRW1ueQSsL34HW2khhR+i1MhY2RGswkgsFPIDcb+BsFuJJyHLn58ycmQnPt5d/k+ncwO9s4W+9emTbtnG2sMpeIfo/v0f+Bv6USwX7+BrHAJJ3auf2/vLoNgLLpbmTiRzCcTa0gCHbP7PKrOdEB7tFZ7fXXkz27zX6b0N/W42a24O3Oh14YPvhybqdlhOl1fTNuy0xxIo5endX1un2nQRIJ1XpBll0RrIk+wzQAzsOkiG5v266TclAM6EbyfMZmI1ii2ky3bUaxdhJvbrqSpIoGNT+fzOADLTXA5S0dB5BU+Y3yQNSJ50AfesmwMYMdAepE0h7mriSbC6bvCCHhiKnVgUZO9cNcFDgsNm2n3wjQXp1gemp4ju9uLHJcBCLQHhyXPFkthdI5g+BGFU5XmBuS6E1aisuQYw6HkHdUQAZuomNS9wO0mEB2bR/ChEreU6gagTq7jUkna2QrlhFl4X7LZs6I3I3AAAAAElFTkSuQmCC\" alt=\"Admincraft badge\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://nodejs.org\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Node.js-339933?logo=node.js\u0026logoColor=fff\u0026style=flat-square\" alt=\"Node.js badge\"/\u003e\n    \u003ca href=\"https://hub.docker.com/r/joanroig/admincraft-websocket\"\u003e\n        \u003cimg src=\"https://img.shields.io/docker/pulls/joanroig/admincraft-websocket?style=flat-square\u0026logo=docker\u0026label=Docker Pulls\" alt=\"Docker Pulls\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## What is Admincraft WebSocket?\n\nAdmincraft WebSocket allows remote control of Minecraft Bedrock servers hosted in Docker. It uses WebSocket technology to provide secure, real-time communication with the Minecraft server, executing commands and monitoring server activity from anywhere.\n\n### Current Project Status\n\n- Designed to work alongside [Admincraft](https://github.com/joanroig/admincraft) for GUI-based server management.\n- Currently optimized for use with Oracle Always Free, using a server created with [docker-minecraft-bedrock-server](https://github.com/itzg/docker-minecraft-bedrock-server/tree/master).\n\n## Issues\n\nTo open an issue, please use the [Admincraft's issues page](https://github.com/joanroig/admincraft/issues/new/choose).\n\n## Getting Started\n\n### Prerequisites\n\nTo run Admincraft WebSocket, ensure you have the [Docker](https://www.docker.com/) installed.\n\n### Installation\n\nYou can set up your server following [the server setup guide from Admincraft](https://github.com/joanroig/admincraft/blob/main/docs/server/SERVER_SETUP.md), in summary you need to:\n\n1. **Set up your environment:**\n\n   Get the `docker-compose.yml` file and edit it with your secret key:\n\n   `SECRET_KEY=your_secret_key_here`\n\n   Define minecraft container name for websocket, if it is not \"minecraft\":\n   `MC_NAME=YOUR_MINECRAFT_CONTAINER_NAME`\n\n2. **Build and run the Docker container:**\n\n   `sudo docker-compose up --build`\n\n   The WebSocket server will be available on port `8080`.\n\n## Development\n\n### Running Locally\n\n1. **Run a demo container**\n\n   `sudo docker run -p 8080:8080 --name admincraft-websocket -e SECRET_KEY=your_secret_key_here admincraft-websocket`\n\n2. The server will start on port `8080` by default.\n\n### Running together with docker compose\n\nChange the websocket service in the `docker-compose.yml` file to remove the image configuration and add the build configuration to point to the local folder with the project code:\n\n```\nversion: \"3\"\nservices:\n\n  [...]\n\n  websocket:\n    container_name: websocket\n    build:\n      context: ./admincraft-websocket\n      dockerfile: Dockerfileadmincraft-websocket:latest\n    restart: always\n    depends_on:\n      # Make sure the minecraft service starts before the websockets service\n      minecraft:\n        condition: service_healthy\n    ports:\n      - 8080:8080\n    volumes:\n      # Mount Docker socket\n      - /var/run/docker.sock:/var/run/docker.sock\n      # Needed if environment.USE_SSL is \"true\"\n      - ./certs:/usr/src/app/certs:ro\n    environment:\n      # Login password to use in admincraft (use alphanumeric characters only)\n      SECRET_KEY: YOUR_SECRET_KEY_HERE\n      # Enable or disable SSL\n      USE_SSL: \"false\"\n```\n\nYou can also run a separate docker compose file by providing it:\n`sudo docker compose -f docker-compose_ssl.yml up -d`\n\n#### Troubleshoot\n\nYou can stop the servers, remove all containers and all images with:\n\n```\nsudo docker compose down\nsudo docker rm -vf $(sudo docker ps -aq)\nsudo docker rmi -f $(sudo docker images -aq)\n```\n### Multi-architecture Docker Build \u0026 Push\n\nTo build and push the Docker image for both amd64 and arm64 architectures:\n\n1. **Install Docker Buildx (if not already installed):**\n\n   Ensure Docker Buildx is available:\n\n   `sudo docker buildx create --use`\n\n2. **Create or use a multi-architecture builder:**\n\n   Create a new builder instance:\n\n   `sudo docker buildx create --name admincraft-websocket-builder --use --driver docker-container`\n\n   To use an existing instance:\n\n   `sudo docker buildx use admincraft-websocket-builder`\n\n3. **Build the Docker images for both architectures:**\n\n   Use the following command to build and push images for both `amd64` and `arm64`:\n\n   `sudo docker buildx build --platform linux/amd64,linux/arm64 -t your-docker-username/admincraft-websocket:latest --push .`\n\n4. **Verify the images on Docker Hub:**\n\n   After the build is complete, check your Docker Hub repository to ensure both architectures are available.\n\n### Architecture\n\nThe Admincraft WebSocket Server operates alongside a Minecraft Bedrock server hosted in Docker. All arechitecture details can be found [here](https://github.com/joanroig/admincraft/blob/main/docs/server/SERVER_SETUP.md#architecture).\n\n## License\n\nLicensed under the [GPLv3 License](https://github.com/joanroig/admincraft-websocket/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoanroig%2Fadmincraft-websocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoanroig%2Fadmincraft-websocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoanroig%2Fadmincraft-websocket/lists"}