Docker simplifies local development by just doing: docker compose up
Only caveats for now:
Container uses MariaDB image because the MySQL image is leaking memory and gets stuck at 100 CPU usage.
Initial Docker build is slow because adding a single PPA requires a package that takes ages to install.
Adding Docker support is required to make the project as simple as possible to set up. So a few things had to be changed:
3a99ce706f0f42d446df417cc6f99af8f4931c09 Fixed project structure. The hash leak that I discovered only happened because nobody knows how to correctly set the root document of a PHP project. For your info: it's the public folder.
74d7b119e4a41b00e25e39148bf17fbe9d8f0632 / d55e1beb4a8b507089217f1d7a16439b984e2c3e Removed unused dependency and the composer.phar file that should never be committed ever.
c1a68d74eaf7a4f2979a20c9f73190290e79bd95 We have so many secret files that this is a nightmare to set up the project. A single .config.json file is enough.
5596daed3ed361e300d54b8566438cec1d149c80 Finally added full support for MariaDB by removing UB from a query that used User-Defined Variables. It also made the query a lot more readable.
367194c36bc68de54339469dda1e57b73bceb2b2 Added proxy support. Steam logins now work if the server knows that it is using a proxy. This means we can work on the project inside GitHub Codespaces, Gitpod etc.
a9a51e7ae28461e59f62ea57e93cd8aeefeb3e8b Added convenient justfile (cross-platform task runner) for executing common commands very quickly for example just up to start the container or just db to connect to the database shell.
Setup script for Windows. WSL might not work because of mkcert being a dependency. We need self-signed certificates so we can later enable SECURE cookies.
Once the prod server is up to date I will slowly upstream all bugfixes, security patches and features like dark mode from Mel CM boards.
Docker simplifies local development by just doing:
docker compose up
Only caveats for now:
Adding Docker support is required to make the project as simple as possible to set up. So a few things had to be changed:
public
folder..config.json
file is enough.just up
to start the container orjust db
to connect to the database shell.TODOs after merge:
.config.json
Once the prod server is up to date I will slowly upstream all bugfixes, security patches and features like dark mode from Mel CM boards.