Add initial docker-compose.yaml for Pterodactyl
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								public/svgs/pterodactyl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/svgs/pterodactyl.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 31 KiB | 
							
								
								
									
										157
									
								
								templates/compose/pterodactyl.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								templates/compose/pterodactyl.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | |||||||
|  | # documentation: https://pterodactyl.io/ | ||||||
|  | # slogan: Pterodactyl is a free, open-source game server management panel | ||||||
|  | # tags: game, game server, management, panel, minecraft | ||||||
|  | # logo: svgs/pterodactyl.png | ||||||
|  | # port: 80 | ||||||
|  |  | ||||||
|  | services: | ||||||
|  |   mariadb: | ||||||
|  |     image: mariadb:10.5 | ||||||
|  |     restart: unless-stopped | ||||||
|  |     command: --default-authentication-plugin=mysql_native_password | ||||||
|  |     healthcheck: | ||||||
|  |       test: | ||||||
|  |         ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized || exit 1"] | ||||||
|  |       start_period: 10s | ||||||
|  |       interval: 10s | ||||||
|  |       timeout: 1s | ||||||
|  |       retries: 3 | ||||||
|  |     environment: | ||||||
|  |       - SERVICE_PASSWORD_MYSQL | ||||||
|  |       - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_MYSQLROOT | ||||||
|  |       - MYSQL_DATABASE=panel | ||||||
|  |       - MYSQL_USER=pterodactyl | ||||||
|  |       - MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL | ||||||
|  |     volumes: | ||||||
|  |       - pterodactyl-db:/var/lib/mysql | ||||||
|  |  | ||||||
|  |   redis: | ||||||
|  |     image: redis:alpine | ||||||
|  |     restart: unless-stopped | ||||||
|  |     healthcheck: | ||||||
|  |       test: ["CMD-SHELL", "redis-cli ping || exit 1"] | ||||||
|  |       interval: 10s | ||||||
|  |       timeout: 1s | ||||||
|  |       retries: 3 | ||||||
|  |  | ||||||
|  |   pterodactyl: | ||||||
|  |     image: ghcr.io/pterodactyl/panel:latest | ||||||
|  |     restart: unless-stopped | ||||||
|  |     volumes: | ||||||
|  |       - "panel-var:/app/var/" | ||||||
|  |       - "panel-nginx:/etc/nginx/http.d/" | ||||||
|  |       - "panel-certs:/etc/letsencrypt/" | ||||||
|  |       - "panel-logs:/app/storage/logs" | ||||||
|  |     healthcheck: | ||||||
|  |       test: ["CMD-SHELL", "curl -sf http://localhost:80 || exit 1"] | ||||||
|  |       interval: 10s | ||||||
|  |       timeout: 1s | ||||||
|  |       retries: 3 | ||||||
|  |     environment: | ||||||
|  |       - SERVICE_FQDN_PTERODACTYL | ||||||
|  |  | ||||||
|  |       - APP_ENV=production | ||||||
|  |       - APP_ENVIRONMENT_ONLY=false | ||||||
|  |       - APP_URL=${PTERODACTYL_PUBLIC_FQDN:-$SERVICE_FQDN_PTERODACTYL} | ||||||
|  |       - APP_TIMEZONE=${TIMEZONE:-UTC} | ||||||
|  |       - APP_SERVICE_AUTHOR=$APP_SERVICE_AUTHOR | ||||||
|  |       - LOG_LEVEL=${LOG_LEVEL:-debug} | ||||||
|  |  | ||||||
|  |       - CACHE_DRIVER=redis | ||||||
|  |       - SESSION_DRIVER=redis | ||||||
|  |       - QUEUE_DRIVER=redis | ||||||
|  |       - REDIS_HOST=redis | ||||||
|  |  | ||||||
|  |       - DB_HOST=mariadb | ||||||
|  |       - DB_PORT=3306 | ||||||
|  |       - DB_PASSWORD=$SERVICE_PASSWORD_MYSQL | ||||||
|  |  | ||||||
|  |       - MAIL_FROM=$MAIL_FROM | ||||||
|  |       - MAIL_DRIVER=$MAIL_DRIVER | ||||||
|  |       - MAIL_HOST=$MAIL_HOST | ||||||
|  |       - MAIL_PORT=$MAIL_PORT | ||||||
|  |       - MAIL_USERNAME=$MAIL_USERNAME | ||||||
|  |       - MAIL_PASSWORD=$MAIL_PASSWORD | ||||||
|  |       - MAIL_ENCRYPTION=$MAIL_ENCRYPTION | ||||||
|  |  | ||||||
|  |   wings: | ||||||
|  |     image: ghcr.io/pterodactyl/wings:latest | ||||||
|  |     restart: unless-stopped | ||||||
|  |     environment: | ||||||
|  |       - TZ=${TIMEZONE:-UTC} | ||||||
|  |       - WINGS_USERNAME=pterodactyl | ||||||
|  |     healthcheck: | ||||||
|  |       test: ["CMD", "curl", "-sf http://localhost:8080"] | ||||||
|  |       interval: 10s | ||||||
|  |       timeout: 1s | ||||||
|  |       retries: 3 | ||||||
|  |     volumes: | ||||||
|  |       - "/var/run/docker.sock:/var/run/docker.sock" | ||||||
|  |       - "/var/lib/docker/containers/:/var/lib/docker/containers/" | ||||||
|  |       - "wings-lib:/var/lib/pterodactyl/" | ||||||
|  |       - "wings-logs:/var/log/pterodactyl/" | ||||||
|  |  | ||||||
|  |       - type: bind | ||||||
|  |         source: ./etc/config.yml | ||||||
|  |         target: /etc/pterodactyl/config.yml | ||||||
|  |         content: | | ||||||
|  |           docker: | ||||||
|  |             network: | ||||||
|  |               interface: 172.28.0.1 | ||||||
|  |               dns: | ||||||
|  |               - 1.1.1.1 | ||||||
|  |               - 1.0.0.1 | ||||||
|  |               name: pterodactyl_nw | ||||||
|  |               ispn: false | ||||||
|  |               driver: "" | ||||||
|  |               network_mode: pterodactyl_nw | ||||||
|  |               is_internal: false | ||||||
|  |               enable_icc: true | ||||||
|  |               network_mtu: 1500 | ||||||
|  |               interfaces: | ||||||
|  |                 v4: | ||||||
|  |                   subnet: 172.28.0.0/16 | ||||||
|  |                   gateway: 172.28.0.1 | ||||||
|  |                 v6: | ||||||
|  |                   subnet: fdba:17c8:6c94::/64 | ||||||
|  |                   gateway: fdba:17c8:6c94::1011 | ||||||
|  |  | ||||||
|  | volumes: | ||||||
|  |   panel-var: | ||||||
|  |   panel-nginx: | ||||||
|  |   panel-certs: | ||||||
|  |   panel-logs: | ||||||
|  |   wings-lib: | ||||||
|  |   wings-logs: | ||||||
|  |   pterodactyl-db: | ||||||
|  | # Instructions: | ||||||
|  | # - Wait for the Pterodactyl service to be healthy (can take a few minutes) | ||||||
|  | # - Use the command `php artisan p:user:make --no-interaction --admin=1 --email=<email> --username=<username> --name-first=<firstname> --name-last=<lastname> --password=<password>` in the Pterodactyl container to create an admin user. | ||||||
|  | # - Login to the panel using the created user | ||||||
|  | # - Go to the Admin panel (Cog icon at the top) | ||||||
|  | # - Go to "Locations" on the left | ||||||
|  | # - Create a new location | ||||||
|  | # - Go to "Nodes" on the left | ||||||
|  | # - Create a new node | ||||||
|  | #   - Specify a temporary FQDN like "localhost" | ||||||
|  | #   - /!\ Check "Use HTTP Connection" /!\ | ||||||
|  | # - Go to the "Configuration" tab of your newly created node | ||||||
|  | # - Copy the configuration file | ||||||
|  | # - In Coolify go to the "Storage" menu for your resource. | ||||||
|  | # - Find the big text area associated with `config.yml` for Wings | ||||||
|  | # - Paste the configuration at the top of this file, above `docker:` | ||||||
|  | # - Edit the line `remote: '<some_url>'` to `remote: 'http://pterodactyl'` | ||||||
|  | # - Save the file | ||||||
|  | # - On the Pterodactyl panel for the node, go to the "Settings" tab | ||||||
|  | # - Change the "Fully Qualified Domain Name" from `localhost` to `wings` | ||||||
|  | # - Go to the "About" tab and confirm that the "Information" section shows the "Daemon Version" properly. | ||||||
|  |  | ||||||
|  | # +----------+--------------------------------------+ | ||||||
|  | # | Field    | Value                                | | ||||||
|  | # +----------+--------------------------------------+ | ||||||
|  | # | UUID     | 6b3083ca-274b-4a77-b88f-6fbf5e4f286f | | ||||||
|  | # | Email    | telokis@example.com                  | | ||||||
|  | # | Username | telokis                              | | ||||||
|  | # | Name     | Telo Kis                             | | ||||||
|  | # | Admin    | Yes                                  | | ||||||
|  | # +----------+--------------------------------------+ | ||||||
		Reference in New Issue
	
	Block a user
	 Telokis
					Telokis