diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61f9825..d335c2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,6 +141,19 @@ build_archlinux: only: - tags +build_docker: + stage: build + script: + - docker build -t "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" -f package/docker/Dockerfile . + - docker tag "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_REF_NAME" + - if [[ -n "$CI_COMMIT_TAG" ]]; then docker tag "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_TAG"; fi + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_TOKEN registry.gitlab.com + - docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" + - docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_REF_NAME" + - if [[ -n "$CI_COMMIT_TAG" ]]; then docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_TAG"; fi + only: + - tags + release: @@ -148,4 +161,4 @@ release: script: - python3 package/release.py only: - - tags \ No newline at end of file + - tags diff --git a/CHANGELOG.md b/CHANGELOG.md index b5fc656..da53629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # SpaceAPI Server Changelog + +## Version 0.3 + +Container image release + +### Changes + + +- Release as container image + + + + ## Version 0.3 diff --git a/package/docker/Dockerfile b/package/docker/Dockerfile new file mode 100644 index 0000000..c2b65d0 --- /dev/null +++ b/package/docker/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3.8-alpine + +ADD spaceapi_server/ /spaceapi_server/ +ADD setup.py /setup.py +RUN python setup.py install && mkdir -p /config/plugins && chmod 0755 -R /config +ADD package/docker/config.json /config/config.json +ADD package/docker/template.json /config/template.json + +VOLUME /config +EXPOSE 8000/tcp +USER 1000 + +ENTRYPOINT [ "/usr/local/bin/python3.8", "-m", "spaceapi_server", "/config/config.json" ] diff --git a/package/docker/config.json b/package/docker/config.json new file mode 100644 index 0000000..38107cf --- /dev/null +++ b/package/docker/config.json @@ -0,0 +1,8 @@ +{ + "address": "0.0.0.0", + "port": 8000, + "server": "wsgiref", + "template": "/config/template.json", + "plugins_dir": "/config/plugins", + "plugins": {} +} diff --git a/package/docker/template.json b/package/docker/template.json new file mode 100644 index 0000000..4647ff5 --- /dev/null +++ b/package/docker/template.json @@ -0,0 +1,23 @@ +{ + "api": "0.13", + "space": "example.space", + "logo": "http://example.space/logo.png", + "url": "http://example.space", + "location": { + "address": "example.space, 42 Example Street, 1337 Example Town", + "lon": 42.42, + "lat": 13.37 + }, + "contact": { + "email": "example@example.space" + }, + "issue_report_channels": [ + "email" + ], + "state": { + "open": null + }, + "projects": [ + "http://example.space/projects" + ] +} diff --git a/setup.py b/setup.py index ebbefca..3fae7ce 100755 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ setup( python_requires='>=3.6', install_requires=[ 'bottle', - 'jinja2' + 'jinja2==2.10' ], entry_points={ 'console_scripts': [ diff --git a/spaceapi_server/__init__.py b/spaceapi_server/__init__.py index d8ea336..81cfc8c 100644 --- a/spaceapi_server/__init__.py +++ b/spaceapi_server/__init__.py @@ -1,2 +1,2 @@ -__version__ = '0.3' +__version__ = '0.3.1'