--- resource_types: - name: aptly-resource type: docker-image source: repository: docker.datentonne.net/concourse/aptly-resource tag: latest resources: - name: presentator type: github-release source: owner: presentator repository: presentator access_token: ((github.access_token)) - name: presentator-docker type: git source: uri: https://github.com/presentator/presentator-docker.git - name: presentator-deb type: aptly-resource source: api_uri: https://apt-api.datentonne.net/ repo_uri: https://apt.datentonne.net/ repo: datentonne distribution: debian component: main architecture: amd64 package: presentator-docker username: ((aptly.username)) password: ((aptly.password)) timeout: 1801 keep_versions: 5 jobs: - name: build plan: - get: presentator trigger: true params: globs: - dummy-*-linux-amd64 - get: presentator-docker trigger: true params: globs: - dummy-*-linux-amd64 - task: build config: platform: linux image_resource: type: registry-image source: { repository: ruby } inputs: - name: presentator - name: presentator-docker outputs: - name: deb run: path: /bin/bash args: - -c - | export VERSION="$(cat presentator/version)" export VERSION_OUT="$(cat presentator/version)-$(date +%s)" gem install fpm cd presentator mkdir -p etc/presentator mkdir -p opt/presentator cp ../presentator-docker/docker-compose-example/php.ini opt/presentator/ cp ../presentator-docker/docker-compose-example/vhosts.conf opt/presentator/ cp ../presentator-docker/docker-compose-example/spa.json opt/presentator/ cp ../presentator-docker/docker-compose-example/base-local.php opt/presentator/ cp ../presentator-docker/docker-compose-example/base-local.php opt/presentator/ cp ../presentator-docker/docker-compose-example/init.sql opt/presentator/ mkdir opt/presentator/db mkdir opt/presentator/storage cat <<- EOF > presentator.service [Unit] Description=presentator service with docker compose Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=true WorkingDirectory=/opt/presentator ExecStart=docker compose up -d --remove-orphans ExecStop=docker compose down [Install] WantedBy=multi-user.target EOF cat <<- EOF > opt/presentator/domain.php opt/presentator/params-local.php 'https://' . \$domain . '/storage', 'appUrl' => 'https://' . \$domain . '/#/', 'authClientRedirectUri' => 'https://' . \$domain . '/#/auth-callback', 'activationUrl' => 'https://' . \$domain . '/#/activate/{token}', 'passwordResetUrl' => 'https://' . \$domain . '/#/reset-password/{token}', 'emailChangeUrl' => 'https://' . \$domain . '/#/change-email/{token}', 'projectLinkUrl' => 'https://' . \$domain . '/#/{slug}', 'projectLinkCommentViewUrl' => 'https://' . \$domain . '/#/{slug}/prototypes/{prototypeId}/screens/{screenId}?mode=comments&commentId={commentId}', 'commentViewUrl' => 'https://' . \$domain . '/#/projects/{projectId}/prototypes/{prototypeId}/screens/{screenId}?mode=comments&commentId={commentId}', 'noreplyEmail' => 'noreply@example.com', 'supportEmail' => 'support@example.com', ]; EOF cat <<- EOF > after-install EOF chmod +x after-install mkdir -p opt cat <<- EOF > opt/presentator/docker-compose.yml version: '3' services: nginx-proxy: image: jwilder/nginx-proxy restart: always ports: - 9002:80 volumes: - /var/run/docker.sock:/tmp/docker.sock:ro mariadb: image: mariadb:10 restart: always ports: - 3306:3306 volumes: - ./db:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql environment: - MYSQL_ROOT_PASSWORD=presentator - MYSQL_USER=presentator - MYSQL_PASSWORD=presentator presentator: image: ganigeorgiev/presentator:${VERSION} depends_on: - mariadb restart: always environment: - VIRTUAL_HOST=\${DOMAIN} volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./vhosts.conf:/etc/apache2/sites-enabled/000-default.conf - ./base-local.php:/var/www/html/config/base-local.php - ./domain.php:/var/www/html/config/domain.php - ./params-local.php:/var/www/html/config/params-local.php - ./spa.json:/var/www/html/config/spa.json - ./storage:/var/www/html/web/storage EOF fpm \ --verbose \ -f \ -n presentator-docker \ -s dir \ -t deb \ -v $VERSION_OUT \ --after-install after-install \ --config-files opt/presentator/docker-compose.yml \ --config-files opt/presentator/domain.php \ --config-files opt/presentator/base-local.php \ --deb-systemd presentator.service \ --deb-systemd-auto-start \ --deb-systemd-enable \ --deb-systemd-restart-after-upgrade \ opt/presentator/=/opt/presentator/ dpkg-deb -c presentator-docker_*.deb cd .. mv -v presentator/presentator-docker_${VERSION_OUT}_amd64.deb deb/ echo "deb/presentator-docker_${VERSION_OUT}_amd64.deb" > deb/filename - put: presentator-deb params: archive_file: deb/filename