Before you begin, please familiarize yourself with the Contribution Guidelines.
This is "Work In Progress" at the moment.
The add_package script, the creation of new service files.
You'll need three pieces of information:
- Package Name in Title case: This is used whenever we need a Title for the package.
- eg. Jellyfin, not jellyfin or JELLYFIN
- The URL for the package: Used in documentation files to link to package website or source.
- A one-line description of the package: Used in documention, etc.
- eg. The Free Software Media System, or An open source media system, forked from Emby
When you have entered those three pieces of information, The script then does the following for you:
- Creates an issue on Github.
- Creates a branch for, and tied to the issue.
- Creates an (empty) Pull Request, that resolves the issue.
- Fetches the new branch, and checks it out.
- Creates the Service Role Directory
- Edits the role/PACKAGENAME/tasks/main.yml
- Creates the Documentation file
- Edits the Readme, and Changelog files
- Edits the group_var/all file to include the new package in the Enabled Services list
From the root project directory run:
vlab add_package and answer the 3 questions.
Once the script has run, you must edit the
- eg. roles/jellyfin/templates/docker-compose.jellyfin.yml.j2
Please review all other files, before pushing your changes to github.
Copy an existing role folder like 'airsonic' from the
then adapt the values as needed.
All mounted docker volumes should point to a folder named after the service that is using it, and located under
Each service should have it's own page within the
Use existing docs as a template.
The service needs to be added within
Place it in the
services: section in alphabetical order.
The service should be added under the list of
Add Service to
In the config template
service should be added in alphabetical order under the
# Services List section.
After a new service has been deployed, run
systemctl status SERVICE_NAME to see
how it's doing.
- eg. systemctl status jellyfin
If it's not running with an error like
Grab the value of the ExecStart line, and run it by hand. So if the ExecStart line looks like:
then manually change directory
cd /home/root/vivumlab/zulip and run the bit after the =,
/usr/bin/docker-compose zulip up to see the error output directly.