Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mineinabyss/server-config
Configuration files and more for our plugins, automatically updated with an Ansible playbook
https://github.com/mineinabyss/server-config
ansible automation configs minecraft-server
Last synced: about 2 months ago
JSON representation
Configuration files and more for our plugins, automatically updated with an Ansible playbook
- Host: GitHub
- URL: https://github.com/mineinabyss/server-config
- Owner: MineInAbyss
- License: mit
- Created: 2020-10-22T01:26:07.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-14T19:13:08.000Z (10 months ago)
- Last Synced: 2024-04-17T22:49:15.530Z (10 months ago)
- Topics: ansible, automation, configs, minecraft-server
- Language: Jinja
- Homepage:
- Size: 12.5 MB
- Stars: 5
- Watchers: 5
- Forks: 37
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mine In Abyss Server Config
[![Discord](https://badgen.net/discord/members/QXPCk2y)](https://discord.gg/QXPCk2y)
![Size](https://img.shields.io/github/repo-size/MineInAbyss/server-config)
[![Contribute](https://shields.io/badge/Contribute-e57be5?logo=github%20sponsors&style=flat&logoColor=white)](https://mineinabyss.com/config)We use this repo to keep track of our servers' configuration files. Anyone can request to make changes by following the guide in the `Contribute` badge above!
We use ansible to download and update config files on server startup, running `local.yml` from GitHub using ansible-pull.
## Usage
### Folder structure
`/servers` contains subfolders defining configs for different servers, in it, `servers.yml` defines which configs to copy based on the `SERVER_NAME` env variable.
`plugin-versions.conf` stores plugin versions which don't get installed by this playbook, but using Keepup.
### Per-server config
Each server subfolder contains subfolders that get treated differently.
#### `sync`
Uses rsync to simply copy files over to dest as quickly as possible.
#### `templates`
Copies files and templates them using [Jinja2](https://jinja.palletsprojects.com/en/3.0.x/templates/) with Ansible. Add `.j2` to the file extension to indicate that it's a Jinja2 template.
You can often look up how to do templating for Ansible specifically (ex. "read environment variable ansible") to get an idea for these configs, since it templates them in the same way.
##### Examples
Reading a secret via env variable:
```yaml
secret_api_key: "{{ lookup('ansible.builtin.env', 'MY_SECRET_KEY') }}"
```### Setup
- Install Ansible on your server
- Set the server name as an env variable called `SERVER_NAME` (set `BUNGEE_SERVER` to true/false to decide whether to ignore the `server/minecraft` directory.)
- Configure what servers run on that server under `host_vars/.yml
- Run the command inside `update-configs.sh` on the appropriate server. The rest is done automatically.## License
The (Ansible) automation part of this project is under the MIT license in the `LICENSE` file. The server configs themselves (under `servers/`) remain unlicensed.
### Other files
The following MythicMobs mob and skill files were originally created by `queenofants` for another project and donated to the Mine in Abyss project with permission to modify as needed. They are NOT licensed under this project's license:
- demonfish
- hammerbeak
- leaflizard
- shroombear
- silkfang
- stinger