Ctrlpanel-gg / panel

CtrlPanel offers an easy-to-use and free billing solution for all starting and experienced hosting providers that seamlessly integrates with the Pterodactyl panel.
https://ctrlpanel.gg/
MIT License
389 stars 141 forks source link

refactor: Docker #946

Open S0ly opened 2 months ago

S0ly commented 2 months ago

I'm currently addressing issue #938, though it's still a work in progress. (do not merge for the moment)

The current code incorporates two Docker configurations: one for development and another for deployment, catering to Unraid users.

I've organized these configurations into two folders:

Development: This folder houses the original Docker setup tailored for development purposes.

Standalone: Here, you'll find a modified Docker setup focused solely on running the CtrlPanel with an integrated Nginx. This streamlined setup requires only an external database and Pterodactyl to function efficiently.

I plan to include comprehensive documentation for the standalone setup to ensure ease of use and understanding.

MrWeez commented 2 months ago

You can mark the PR as a draft.

S0ly commented 2 months ago

So Like said in the original PR it might be worth considering issue #944. Although related to documentation, the changes proposed there don't directly impact the Docker configurations. However, as suggested in the issue, cleaning up the documentation and merging the building.md markdown into a readme in the development folder could streamline the user experience. This way, users will have everything conveniently located in one place.

S0ly commented 2 months ago

I'm not sure that the start and stop Docker scripts in the bin folder are still needed since Docker Compose already does it automatically ?

1day2die commented 2 months ago

I'm not sure that the start and stop Docker scripts in the bin folder are still needed since Docker Compose already does it automatically ?

noone really knows as we never really worked on it anyway

S0ly commented 2 months ago

@1day2die so I can delete what I think is not useful anymore and even modify the documentations for dockers ? so that I can make you a working development docker and standalone ?

S0ly commented 1 month ago
image

while testing the standalone docker I found that it could be nice to detect that the panel is in a docker and desactivate things like the mysql and git detection :)

1day2die commented 1 month ago

@1day2die so I can delete what I think is not useful anymore and even modify the documentations for dockers ? so that I can make you a working development docker and standalone ?

yes

S0ly commented 1 month ago

I think the standalone docker is ready, I just need you @1day2die to test it by going to /docker/standalone and doing docker compose up it should make the docker (it can take up to 10 min its essentially an auto install script in some ways), then you will be able to access it on your http://localhost/install

if yes its that I succeeded and so you can make an official docker image in docker hub https://docs.docker.com/guides/walkthroughs/publish-your-image/, I will then try to publish it to platform like unraid and I will also update the main readme documentation for it but I think I will need another PR for that

S0ly commented 1 month ago

I think he should work, I just need people to test it now :) to know if some bugs are present because of docker or the development code

S0ly commented 1 month ago

for more clarification for these two commit I was asking myself why this docker was present he was strange, and seing who made it, the commit is named "development docker" so I was right it was not made to be used by user

I used a lot of part of this development docker to make the standalone, so I updated it now, the development docker use the standalone and add more tools like Mysql, redis, php my admin, via a docker compose and I plan to add things like pterodactyl and wings so that in 1 command you can have a full setup working

S0ly commented 3 weeks ago

The docker is finished, documentation could be upgraded but will be done in the futur it needs testing it currently works but need testing for wen 0.10 will be finished to be sure everything is working so do not merge if not tested on RC of 0.10