2017-10-02 06:25:57 +02:00
|
|
|
from jinja2 import Environment, FileSystemLoader
|
|
|
|
import os
|
|
|
|
|
|
|
|
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
|
|
|
|
base_vars = {
|
2017-10-03 05:52:02 +02:00
|
|
|
'name': 'pi-hole',
|
2017-10-02 06:25:57 +02:00
|
|
|
'maintainer' : 'adam@diginc.us',
|
|
|
|
's6_version' : 'v1.20.0.0',
|
|
|
|
}
|
|
|
|
|
|
|
|
images = {
|
|
|
|
'debian': [
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'debian:jessie',
|
|
|
|
'arch': 'amd64'
|
|
|
|
}.items()),
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'multiarch/debian-debootstrap:armhf-jessie-slim',
|
|
|
|
'arch': 'armhf'
|
|
|
|
}.items()),
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'multiarch/debian-debootstrap:arm64-jessie-slim',
|
|
|
|
'arch': 'aarch64'
|
|
|
|
}.items()),
|
|
|
|
],
|
|
|
|
'alpine': [
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'alpine:edge',
|
|
|
|
'arch': 'amd64'
|
|
|
|
}.items()),
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'multiarch/alpine:armhf-edge',
|
|
|
|
'arch': 'armhf'
|
|
|
|
}.items()),
|
2017-10-03 05:52:02 +02:00
|
|
|
dict(base_vars.items() + {
|
2017-10-02 06:25:57 +02:00
|
|
|
'base': 'multiarch/alpine:aarch64-edge',
|
|
|
|
'arch': 'aarch64'
|
|
|
|
}.items())
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
def generate_dockerfiles():
|
|
|
|
for os, archs in images.iteritems():
|
|
|
|
for image in archs:
|
|
|
|
j2_env = Environment(loader=FileSystemLoader(THIS_DIR),
|
|
|
|
trim_blocks=True)
|
|
|
|
template = j2_env.get_template('Dockerfile_{}.template'.format(os))
|
2017-10-03 05:52:02 +02:00
|
|
|
|
|
|
|
dockerfile = 'Dockerfile_{}_{}'.format(os, image['arch'])
|
|
|
|
with open(dockerfile, 'w') as f:
|
2017-10-02 06:25:57 +02:00
|
|
|
f.write(template.render(os=os, image=image))
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
generate_dockerfiles()
|