Code and issues for the ACM docker server
This uses docker-compose and systemd along with a couple short bash scripts to start and stop services running in docker containers.
Things are a bit specific to the ACM server's set up for now, so this will be rather un-flexable.
- docker-compose in /usr/local/bin
- YAML configs and net_*.sh scripts in /srv/acm/
- acm@.server in /etc/systemd/system/
- A folder for each service with the same name as the service, containing necessary *.env files and a single file called MAC with the services' container's mac address (as registered w/ CWRU ITS).
- Necessary mountpoints in /srv/volume/
Service names may not:
- be "bin" (not case sensitive)
- be "default" (not case sensitive)
- be any other service name (not case sensitive)
- contain "_", " ", "+", "@", "#", "$", "/", or ""
The script server
can control stopping, starting, restarting, and updating
services. The server_default
script should be symlinked to server_<name>
,
where is the name of the service, and can manage the service
(specified by .yml).
To add a script, create a group , add it to sudoers with the ability to
run server_<name>
with NOPASSWD, and add the users that need to manage that
service to the proper group.
For now, read the server
and server_default
scripts to see how they work
(they're not too long).