Docker is ideally the installation route you want to go. Docker enables us to run SeAT on any platform capable of running docker itself (which includes Windows!). Additionally, upgrades and service maintenance are really low effort as you don't have to care about any dependencies. All of it is maintained within a docker stack and dockerhub.
If you plan on running Docker on Windows, for the best performance it is suggested that you run Docker using the Windows Subsystem for Linux 2 (WSL2) backend, available starting in Windows 10/Windows Server 20H1 (build 2004) releases.
Before starting the installation process, be sure you read this complete document first. It will help you understand all of the steps from an installation process.
If you feel like docker might not be your cup of tea, checkout some of the other getting started guides that are available.
If you are using Docker on Windows, you will need to use the Manual Deployment option below.
Eve Application and ESI
SeAT used CCP's ESI service in order to retrieve EVE Online-related information. Before you can make any authenticated calls to ESI, you have to register a third-party EVE application on the developers portal. This is an absolute must for SeAT to be of any use. The configuration of this step is covered in a later stage of the documentation.
Internal Container Setup Overview¶
The setup for SeAT's docker installation orchestrated using docker-compose. With docker-compose, we can use a single
docker-compose.yml file to define the entire stack complete with all of the dependencies required to run SeAT. A pre-built and recommended compose file (which is also used by the bootstrapping script) is hosted in the seat-docker repository here.
The previously mentioned compose file is really simple. A high-level overview of its contents is:
- A single docker network called
seat-networkis defined. All containers are connected to this network and is used as the primary means for inter-container communications.
- A single volume called
mariadb-datais defined. This is the most important volume as it contains all of the database data. This is the one volume that you should configure a backup solution for!
- Six services (or containers) are used within the SeAT docker stack. Three services use basic images pulled directly from Dockerhub and three others use a custom-built image, also hosted on DockerHub. The container images used are:
|Image Name||Image Repository|
- The environment is configured using a top-level
.envfile (not to be confused with the SeAT specific
- Only two ports are exposed by default. Those are
tcp/443. These can be connected to in order to access the SeAT web interface.
- All containers are configured to restart on failure, so if your server reboots or a container dies for whatever reason it should automatically start up again.
SeAT Docker Installation¶
Depending on whether you already have
docker-compose already installed, you may choose how to start the installation. If you already have the required tooling installed and running their latest versions, all you need to do is download the latest
.env files to get started.
Automated Setup Script¶
If you do not have the required software installed yet, consider running the bootstrap script that will check for
docker-compose, install it and start the SeAT stack up for you. The script can be run with:
Once the script is finished, you can skip to the monitoring the stack section of this guide.
If you don't want to run this script, follow along in the next section of this guide.
If you do not have
docker, install it now with the following command as
If you are on Windows, download and install Docker Desktop.
If you do not have
docker-compose, install it now with the following command as
root (Docker Compose is included with Docker Desktop on Windows):
Docker compose working directory¶
docker-compose ready, create yourself a directory in
mkdir -p /opt/seat-docker and
cd to it. Remember this directory as you will need to come back to it often.
On Windows, create the
C:\seat-docker directory with
mkdir C:\seat-docker and
cd to it.
SeAT docker-compose.yml and .env File¶
Then, download the
docker-compose.yml file with:
Next, download the docker
.env file with:
Next, we will generate a unique application key - this is used internally for encryption:
SeAT docker configuration¶
Open up the
.env file in a text editor and fill in a few of the configuration items needed.
TRAEFIK_DOMAIN should be set to the base domain your installation lives on.
SEAT_SUBDOMAIN sould be the subdomain for the SeAT web UI. eg: seat.domain.local
For TLS configuration, you need to set the
TRAEFIK_ACME_EMAIL value, and then in the
docker-compose.yml file uncomment the labels that relating to
certResolver. They typically look like this:
traefik.http.routers.api.tls.certResolver=primary. Finally, create an ACME configuration file with:
SeAT docker template is shipped with Traefik to hide your container behind a proxy and securing traffic up to it. In case you want to manage traffic proxying and certification on your own, you can disable traefik container from the stack by adding
# [front of lines] from the
The location of the
.env files are important. You need to
cd back to the directory where these are stored in order to be able to execute commands for this stack at a later stage.
Also, be sure you provide a valid e-mail address as it will be used to register your account against Let's Encrypt. For those unfamiliar with this, it's CA that provides valid certificates for free.
As mentioned at the start of the guide, it is necessary for you to configure ESI. For instructions on how to do this, please refer to the ESI Setup Guide.
With the configuration files ready, start up the stack with:
Monitoring the Stack¶
Knowing what is going on inside of your containers is crucial to understanding how everything is running as well as useful when debugging any problems that may occur. While the containers are starting up or have been running for a while, you can always
cd to the directory where your
docker-compose.yml file lives and run the
logs command to see the output of all of the containers in the stack. For example:
These commands will
cd to the directory containing the stacks
docker-compose.yml file and run the
logs command, showing the last 10 log entries and then printing new ones as they arrive.
All of the relevant configuration lives inside the
.env file, next to your
docker-compose.yml file. Modify their values by opening it in a text editor, making the appropriate changes, and saving it again. Once that is done, run
docker-compose up -d again to restart the container environment.
You made it! Use a browser and browse to the domain / subdomain of your server to access SeAT!