Platform for Minmatar Fleet
The my.minmatar.org site is built with a JavaScript/Astro front-end and a Python/Django back-end. It is deployed as a set of Docker containers to a bare-metal cloud host using Docker Compose. The backend uses a MariaDB database, and there is also a Redis cache instance.
Authentication is handled via single-sign-on with Discord, and the site also integrates with the Eve Swagger Interface.
The source code is hosted on GitHub, and the CI/CD pipeline is built using GitHub Actions. Operational monitoring is implemented using Sentry.
pyenv
on your machine (e.g brew install pyenv
, google for other operating systems)pipenv
on your machine (e.g pip install --user --upgrade pipenv
)pre-commit
on your machine (e.g brew install
)To run this project behind the Nginx proxy, you must update your /etc/hosts
file. Google the instructions for whatever your operating system is.
You need to add the following,
# Minmatar.org Local Development
127.0.0.1 api.local.minmatar.org
127.0.0.1 local.minmatar.org
docker-compose-local.yml
into docker-compose.yml
.env
file based on the .env.example
file
example
for users root
and tools
, if you'd like this to be different update the relevant sections in .env
, docker-compose.yml
, and dev/mariadb/setup.sql
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
wget https://www.fuzzwork.co.uk/dump/sqlite-latest.sqlite.bz2
, unzip it using bunzip2 sqlite-latest.sqlite.bz2
, and move it mv sqlite-latest.sqlite ./frontend/app/src/data
docker compose up -d
to create and start the containers. In the background this sets up the needed database users and database.
--build app
flag to the compose command to rebuild the image if you've made code changes.This isn't a perfect setup and we're still working on streamlining it. If you have issues reach out to the technology team and we'll do our best to help. Once you set this up once it will keep your db setup between development instances and you will only need to migrate if you change the database structure.
for x in $(sed -e 's/#.*//' .env.local | grep '=') ; do export $x ; done
for populating env from .env