Providing a docker image removes the burden of having to install dependencies on the host system to build and run the server.
(For example I'd not want to install and run anything from Microsoft on my Linux system directly.)
Even on Windows systems, using docker allows for a smoother upgrade process. Instead of manually checking for a new sever.exe every now and then, users can just docker pull ${image}, docker-compose pull or run with --pull=always to keep the image up to date. Or easily pick among several (older) versions by using docker tags.
Pushing to the default branch (master) will deploy:
ghcr.io/${username}/smo-online-server:latest
ghcr.io/${username}/smo-online-server:master
Pushing to other branches (e.g. dev) will only deploy:
Providing a docker image removes the burden of having to install dependencies on the host system to build and run the server. (For example I'd not want to install and run anything from Microsoft on my Linux system directly.)
Even on Windows systems, using docker allows for a smoother upgrade process. Instead of manually checking for a new
sever.exe
every now and then, users can justdocker pull ${image}
,docker-compose pull
or run with--pull=always
to keep the image up to date. Or easily pick among several (older) versions by using docker tags.Pushing to the default branch (
master
) will deploy:ghcr.io/${username}/smo-online-server:latest
ghcr.io/${username}/smo-online-server:master
Pushing to other branches (e.g.
dev
) will only deploy:ghcr.io/${username}/smo-online-server:${ref}
(e.g....:dev
)Pushing version tags (e.g.
1.0.2
orv1.0.2
) will deploy:ghcr.io/${username}/smo-online-server:${major}.${minor}.${patch}
(e.g....:1.0.2
)ghcr.io/${username}/smo-online-server:${major}.${minor}
(e.g....:1.0
)ghcr.io/${username}/smo-online-server:${major}
(e.g....:1
)Example image ghcr.io/istador/smo-online-server: