SeAT Navy Issue

not affiliated with the original SeAT.

OpenApi Repository Maintainability Python 3 MIT License

SeAT Navy Issue is a simpler alternative to SeAT. In short, it is an EVE Online community manager, in the form of a REST API. Its core functionalities include:

  • managing corporations, alliances, and even coalitions;

  • creating and managing custom groups;

  • storing and refreshing ESI tokens; making queries against the ESI;

  • a simplistic clearance system;

  • a Discord and Teamspeak connector.

Note that this project is just a backend. For a nice web-based user interface, check out SNI-frontend.

Running SNI

  1. Register an application at the EVE Developer Portal. The SNI callback is https://<domain>/callback/esi.

  2. Create a configuration file (see Reference).

  3. The easiest way to run SNI and all the required services is to use the following docker-compose file: (don’t forget to change the password to match that of your sni.yml)

    version: '3.5'
    
    volumes:
      mongodb-data:
      redis-data:
      sni-code:
    
    services:
    
      mongodb:
        container_name: mongodb
        environment:
          - MONGO_INITDB_ROOT_USERNAME=root
          - MONGO_INITDB_ROOT_PASSWORD=rootpassword
        image: mongo
        volumes:
          - mongodb-data:/data/db
    
      redis:
        container_name: redis
        image: redis
        volumes:
          - redis-data:/data
    
      seat-navy-issue:
        container_name: seat-navy-issue
        environment:
          - GIT_URL=https://github.com/altaris/seat-navy-issue.git
          - PYTHON_MAIN_MODULE=sni -f /etc/sni/sni.yml
        image: altaris/pumba
        volumes:
          - sni-code:/usr/src/app/
          - ./sni.yml:/etc/sni/sni.yml
    

    Then, run:

    (your shell) > docker container exec -it mongodb bash
    (mongodb container) > mongo --username root --password rootpassword
    (mongo shell) > use sni
    (mongo shell) > db.createUser({
       user: "sni",
       pwd: "snipassword",
       roles: [
          {
                role: "readWrite",
                db: "sni"
          }
       ]
    })
    

Indices and tables