This project's goal is to automate the setup of a Starbound dedicated server as much as possible.
Using Terraform, the server is created in AWS EC2 and access to it is limited to SSH and port 21025 (that Starbound communicates on).
After Terraform is finished bringing up the instance, it invokes Ansible to configure and start up the Starbound server.
Afterwards, you can run additional Ansible commands to update the server as well as backup and restore your universe from S3.
The Ansible role I use is my own: Shplorf.starbound
- SSH key generated in AWS and present locally, to enable Ansible and Terrafrom to SSH into the server.
- Ansible and Terraform installed and configured to work with AWS:
variable "region" {default = "us-east-1"}
AWS EC2 Region for your instancevariable "ec2_ami" {default = "ami-cbdd50dc"}
Ubuntu AMI that the instance will be based on. Defaults to Ubuntu 14.04.5 LTS (Trusty Tahr). Nothing else is currently supported.variable "user" {default = "ubuntu"}
The user that will be used to poll for an ssh connection after the server is created.variable "key_pair_name" {}
The name of the key pair in AWS that you wish to associate with the instancevariable "private_key_path" {}
The path to your private key file. Used to poll for an ssh connection after the server is created.
See README for Shplorf.starbound
When everything is configured, you can simply run
terraform apply
After it finishes setting up your server, you should be able to connect to its IP from Starbound right away.
MIT