83 lines
2.5 KiB
Markdown
83 lines
2.5 KiB
Markdown
# docker image for openmamba buildvm
|
|
This project provides a `Dockerfile` and related files which can be easily used to create a Docker image and
|
|
container set up with `autodist` and `webbuild` with the purpose to maintain and build openmamba `RPM` packages.
|
|
|
|
The project can be used on any O.S. with `docker` installed and supporting one of the following platforms:
|
|
* `linux/amd64` (`x86_64`)
|
|
* `linux/arm64` (`aarch64`)
|
|
* `linux/386` (`i586`)
|
|
|
|
|
|
## Installation
|
|
Create image with:
|
|
`docker build -t buildvm .`
|
|
|
|
Create and start a new container with:
|
|
`docker run --name buildvm -d -p 80:80 buildvm`
|
|
|
|
A different name and local port mapping may be used as needed.
|
|
|
|
### Container management
|
|
Stop with:
|
|
`docker stop buildvm`
|
|
|
|
Restart with:
|
|
`docker start buildvm`
|
|
|
|
## Usage
|
|
|
|
### Webbuild web interface
|
|
With a browser access the `webbuild` interface at:
|
|
|
|
`http://localhost`
|
|
|
|
To access from another host you may replace `localhost` with the container host (remember to check that exposed port is open in firewall).
|
|
|
|
Login with the following credentials:
|
|
|
|
* Username: `autodist`
|
|
* Password: `openmamba`
|
|
|
|
Remote host and different port mapping may be used as needed.
|
|
|
|
Spawn a shell into the running container with:
|
|
`docker exec -it --user root buildvm /bin/bash`
|
|
|
|
Or as `autodist` user:
|
|
`docker exec -it --user autodist buildvm /bin/bash`
|
|
|
|
### Autoport cron job
|
|
autoport is specifically intented for openmamba maintainer to port packages to required architectures.
|
|
The involced configuration is file:
|
|
|
|
`/etc/sysconfig/autoport`
|
|
|
|
Autoport needs to be globally enabled with setting:
|
|
|
|
`AUTOPORT_ENABLE=1`
|
|
|
|
Port configurations are defined in the same file inside array variables, in this example we use
|
|
the first configuration with array index of `0`:
|
|
|
|
`AUTOPORT_ARCH[0]=aarch64
|
|
AUTOPORT_DISABLE[0]=
|
|
AUTOPORT_CHROOT_USER[0]=autodist
|
|
AUTOPORT_NATIVE[0]=1
|
|
AUTOPORT_REPOSITORIES[0]="devel-makedist devel-kernel devel-autodist devel-misc"
|
|
AUTOPORT_PORT_REPOSITORY[0]="#SELF"
|
|
AUTOPORT_BASE_REPOSITORY[0]="devel-autodist"
|
|
AUTOPORT_IMPORT_REPOSITORIES[0]="$AUTOPORT_DEVEL_IMPORT_REPOSITORIES"`
|
|
|
|
The command to run autoport batch process for configuration with index `0` is:
|
|
|
|
`docker exec -it buildvm /usr/bin/autoport-launcher 0`
|
|
|
|
Maintainer wants to add autoport as a cron job.
|
|
To do this you may set the cron job on the docker **host** by running `crontab -e` and adding the line:
|
|
|
|
`0 * * * * docker exec buildvm /usr/bin/autoport-launcher 0 2>&1 | logger -t autoport0`
|
|
|
|
You may see a resume of port processes by opening the page:
|
|
|
|
`http://localhost/autobuilds.html`
|