Docker
Note that this Dockerized environment is not suitable for production deployments, see Installations instead.
How to setup a local development environment 💻
docker-compose up -dto spin up dev container and database (ensure port3306is free)docker-compose run builder bashin order to run aditional build or shell scripts within the linux context.- All rAthena development commands can be executed inside the dev container, such as compiling (
./configure,make clean server) and starting the server (./athena-start,gdb map-server, etc ...) docker-compose downoutside the dev container when done to close database and free resources- All commands expect you to have change directory to this directory,
$projectRoot/tools/docker. - Change the value of
BUILDER_CONFIGUREenvironment variable of thebuilderservice in order to change the parameters sent to the./configurecommand
If you have already compiled the project once, you might want to connect directly to the builder service (see 2.) and run commands from there (see 3.).
- If you want the builder to build your project on each start change line 8 from
export runBuild=0;
to
export runBuild=1;
Tips & tricks for local development 🔰
- Ensure you don't have a database running locally and listening on port
3306this will cause the database container to fail starting up. - All file edits within the repository are reflected inside the container, so you can develop in your preferred text editor or IDE.
- Files into ./asset take precedence over conf/import/ counterpart
- Connect to the local database with following credentials:
- Host:
localhost - Port:
3306 - User:
ragnarok - Password:
ragnarok
- Host:
- On first start up all
/sql-files/*.sqlfiles are imported into the database. This does not happen on future start ups unless the volume has been deleted. - Database is saved to local disk so state is persisted between shutdowns and start ups. To fully erase your database and start fresh, delete the volume with
docker-compose down --volumes - Check the status of containers with
docker-compose ps - If you have modified the
Dockerfile, be sure to rebuild the docker image withdocker-compose build
F.A.Q
ls: can't open '.': Permission denied turn off selinux.