Installer Pterodactyl avec Docker
Pterodactyl

Installer Pterodactyl avec Docker

Table des matières

Conçu dans un souci de sécurité, Pterodactyl exécute tous les serveurs de jeu dans des conteneurs Docker isolés tout en exposant une interface utilisateur belle et intuitive aux administrateurs et aux utilisateurs.

Pterodactyl prend en charge une grande variété de jeux en utilisant des conteneurs Docker pour isoler chaque instance, vous donnant ainsi la possibilité d'héberger vos jeux à travers le monde sans avoir à surcharger chaque machine physique avec des dépendances supplémentaires.

Certains de nos principaux jeux pris en charge incluent :

  • Minecraft — y compris Spigot, Sponge, Bungeecord, Waterfall, et plus...
  • Rust
  • Terraria
  • Teamspeak
  • Mumble
  • Team Fortress 2
  • Counter Strike: Global Offensive
  • Garry's Mod
  • ARK: Survival Evolved

En plus de notre nid standard de jeux pris en charge, notre communauté repousse constamment les limites de ce logiciel et de nombreux autres jeux sont disponibles fournis par la communauté. Certains de ces jeux incluent :

  • Factorio
  • San Andreas: MP
  • Pocketmine MP
  • Squad
  • FiveM
  • Xonotic
  • Discord ATLBot

⚡Caractéristiques

  • La sécurité avant tout: La sécurité est de premier ordre sur cette plate-forme avec le hachage bcrypt, le cryptage AES-256-CBC et la prise en charge HTTPS prête à l'emploi.
  • Outillage moderne: Construit sur une pile moderne utilisant les meilleures pratiques de conception qui facilitent l’intervention et la modification.
  • Gratuit et open source: Ptérodactyle est 100% gratuit et sous licence MIT. Tout le code est également entièrement open source.
  • Convivial: L'interface de Pterodactyl est si bien conçue que même Hanzo peut l'utiliser.
  • Évolutive: Que vous soyez une société d'hébergement, le prochain Hyplex ou simplement des mecs jouant à des jeux vidéo, nous avons ce qu'il vous faut.

L'installation

  1. Créez votre docker-compose.yml:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration, il y aura quelques modifications à faire, qui sont indiquées en dessous:
version: '3.8'
x-common:
  database:
    &db-environment
    # Do not remove the "&db-password" from the end of the line below, it is important
    # for Panel functionality.
    MYSQL_PASSWORD: &db-password "CHANGE_ME"
    MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
  panel:
    &panel-environment
    APP_URL: "http://example.com"
    # A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
    APP_TIMEZONE: "UTC"
    APP_SERVICE_AUTHOR: "noreply@example.com"
    # Uncomment the line below and set to a non-empty value if you want to use Let's Encrypt
    # to generate an SSL certificate for the Panel.
    # LE_EMAIL: ""
  mail:
    &mail-environment
    MAIL_FROM: "noreply@example.com"
    MAIL_DRIVER: "smtp"
    MAIL_HOST: "mail"
    MAIL_PORT: "1025"
    MAIL_USERNAME: " "
    MAIL_PASSWORD: " "
    MAIL_ENCRYPTION: "true"

#
# ------------------------------------------------------------------------------------------
# DANGER ZONE BELOW
#
# The remainder of this file likely does not need to be changed. Please only make modifications
# below if you understand what you are doing.
#
services:
  database:
    image: mariadb:10.5
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - "/srv/appdata/pterodactyl/database:/var/lib/mysql"
    environment:
      <<: *db-environment
      MYSQL_DATABASE: "panel"
      MYSQL_USER: "pterodactyl"
  cache:
    image: redis:alpine
    restart: always
  panel:
    image: ghcr.io/pterodactyl/panel:latest
    restart: always
    ports:
      - "8088:80"
      - "4143:443"
    links:
      - database
      - cache
    volumes:
      - "/srv/appdata/pterodactyl/var/:/app/var/"
      - "/srv/appdata/pterodactyl/nginx/:/etc/nginx/http.d/"
      - "/srv/appdata/pterodactyl/certs/:/etc/letsencrypt/"
      - "/srv/appdata/pterodactyl/logs/:/app/storage/logs"
    environment:
      <<: [*panel-environment, *mail-environment]
      DB_PASSWORD: *db-password
      APP_ENV: "production"
      APP_ENVIRONMENT_ONLY: "false"
      CACHE_DRIVER: "redis"
      SESSION_DRIVER: "redis"
      QUEUE_DRIVER: "redis"
      REDIS_HOST: "cache"
      DB_HOST: "database"
      DB_PORT: "3306"
networks:
  default:
    ipam:
      config:
        - subnet: 192.18.0.1/16

Il faut prendre soin de changer absolument ces deux paramètres:

MYSQL_PASSWORD: &db-password "CHANGE_ME"
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"

Remplacez "CHANGE_ME" par un password fort en conservant les " ".
Par exemple:

MYSQL_PASSWORD: &db-password "eJ%R645PGzJQj^xKik4xCNxa2ibaS$kH79mz"
MYSQL_ROOT_PASSWORD: "FtZZhjEq*$4SxLDr4JqQXM&uJ*KYbcUHq$GU"

Si vous avez un nom de domaine il faudra également modifier cette ligne par votre propre domaine, dans le cas contraire, ne changez rien:

APP_URL: "https://example.tld"

Vous pouvez accessoirement compléter la partie mail avec vos informations, c'est facultatif:

mail:
    &mail-environment
    MAIL_FROM: "noreply@example.com"
    MAIL_DRIVER: "smtp"
    MAIL_HOST: "mail"
    MAIL_PORT: "1025"
    MAIL_USERNAME: " "
    MAIL_PASSWORD: " "
    MAIL_ENCRYPTION: "true"
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Créez votre compte principal:
docker-compose run --rm panel php artisan p:user:mak

Il faudra répondre à quelques questions:

Is this user an administrator: yes
Email Address: un e-mail qui fera office de login
Username: choisir un nom d'utilisateur
First Name: choisir un prénom
Last Name: choisir un nom de famille
Password: un mot de passe devant comporter au moins 8 caractères et contenir au moins une lettre majuscule et un chiffre.

  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi:
http://ip:8088

Ou par votre domaine:

https://ndd.tld

zarev

🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer