### Java Application Build and Deployment Example Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/java/2000-01-01-start.md This example shows the typical output of deploying a Java application to Scalingo, including buildpack detection, OpenJDK and Maven installation, and the Maven build process. ```bash $ ls Procfile pom.xml src $ scalingo create my-app $ git push scalingo master ... -----> Java app detected -----> Installing OpenJDK 1.8... done -----> Installing Maven 3.3.9... done -----> Installing settings.xml... done -----> executing /app/tmp/repo.git/.cache/.maven/bin/mvn -B -Duser.home=/tmp/build_19z6l4hp57wqm -Dmaven.repo.local=/app/tmp/repo.git/.cache/.m2/repository -s /app/tmp/repo.git/.cache/.m2/settings.xml -DskipTests=true clean install [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building readmeTest 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ ... ``` -------------------------------- ### View APT Buildpack Deployment Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-apt.md Example log output showing the APT buildpack installing packages during deployment. ```text =====> Downloading Buildpack: https://github.com/Scalingo/apt-buildpack =====> Detected Framework: Apt -----> Reusing cache -----> Updating apt caches Ign http://archive.ubuntu.com trusty InRelease ... Hit http://apt.postgresql.org trusty-pgdg/main amd64 Packages Reading package lists... -----> Fetching .debs for poppler-utils Reading package lists... Building dependency tree... The following extra packages will be installed: libpoppler44 The following NEW packages will be installed: libpoppler44 poppler-utils 0 upgraded, 2 newly installed, 0 to remove and 73 not upgraded. Need to get 0 B/824 kB of archives. After this operation, 3066 kB of additional disk space will be used. Download complete and in download only mode -----> Installing libpoppler44_0.24.5-2ubuntu4.9_amd64.deb -----> Installing poppler-utils_0.24.5-2ubuntu4.9_amd64.deb -----> Writing profile script -----> Rewrite package-config files ``` -------------------------------- ### Example Procfile with Solid Queue Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md An example Procfile for defining a web process and a worker process using Solid Queue, showing the command for starting Solid Queue workers. ```yaml web: bundle exec rails server -p $PORT -e $RAILS_ENV -b 0.0.0.0 worker: bundle exec rake solid_queue:start ``` -------------------------------- ### Configure Buildpacks for APT and PHP Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/php/2000-01-01-extensions.md Define the build order by creating a .buildpacks file. This example specifies the APT buildpack for installing dependencies and the PHP buildpack for the application environment. ```text https://github.com/Scalingo/apt-buildpack https://github.com/Scalingo/php-buildpack ``` -------------------------------- ### Install Scalingo CLI on Linux & macOS Source: https://github.com/scalingo/documentation/blob/master/src/_posts/tools/cli/2000-01-01-start.md Download and execute the installation script for Linux and macOS. This command fetches the installer and runs it. ```bash curl -O https://cli-dl.scalingo.com/install && bash install ``` -------------------------------- ### Run Docker Image with Web Process Source: https://github.com/scalingo/documentation/blob/master/src/_posts/addons/scalingo-docker-image/2000-01-01-start.md Run your downloaded Docker image, starting the web process. This example sets the PORT environment variable and maps the container port to the host port. ```bash docker run -it \ -e PORT=4000 \ --publish 4000:4000 \ --user appsdeck \ registry-3-osc-fr1.scalingo.com/app-my-app:0123456789abcdef /start web ``` -------------------------------- ### Install Scalingo CLI in a One-Off Container Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/mysql/guides/2000-01-01-restoring.md Required setup step when working from a one-off container. ```bash install-scalingo-cli ``` -------------------------------- ### Install Flask Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/2000-01-01-celery-flask.md Install the Flask framework. ```bash pip install Flask ``` -------------------------------- ### Configure Daphne for ASGI Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/django/2000-01-01-start.md Example of using Daphne as an ASGI server within the start script. ```sh #!/bin/bash daphne --bind 0.0.0.0 --port $PORT myapp.asgi:application --proxy-headers ``` -------------------------------- ### Install Specific Go Packages Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/go/2000-01-01-gomod.md Use this comment to specify a list of packages to install. Defaults to the current directory if not provided. ```go // +scalingo install ./cmd/ ... ``` -------------------------------- ### Procfile for Yarn Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-start.md Example of a Procfile content that uses 'yarn run start' to initiate the application. Note that Yarn may not forward SIGTERM correctly with this setup. ```yaml web: yarn run start ``` -------------------------------- ### Set start script in package.json Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-nextjs-standalone.md Update the start script to point to the standalone server file. ```json { "scripts": { "start": "node .next/standalone/server.js" // others scripts } } ``` -------------------------------- ### Specify OS Packages for APT Buildpack Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/php/2000-01-01-extensions.md List the required OS packages in an Aptfile. This example shows how to install the 'libyaml-dev' package, which is a dependency for the 'yaml' PECL extension. ```text libyaml-dev ``` -------------------------------- ### Example Connection URI Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/postgresql/shared-resources/getting-started/2000-01-01-connecting.md Sample output format of the SCALINGO_POSTGRESQL_URL environment variable. ```bash postgresql://my_app_wxyz:YANs3y07m5_KJC2MSDGebh8tx1lliFWh2Yb239zVqGQvbElWDjIN7QWspVH92Ul8@my-app-wxyz.postgresql.a.osc-fr1.scalingo-dbs.com:31000/my_app_wxyz?sslmode=prefer ``` -------------------------------- ### Install MySQL Client Dependency Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/django/2000-01-01-start.md Alternative dependency installation command when using MySQL instead of PostgreSQL. ```bash pipenv install django mysqlclient gunicorn ... ``` -------------------------------- ### Install MySQL tools with dbclient-fetcher Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/mysql/getting-started/2000-01-01-accessing.md Downloads and installs MySQL client tools within a one-off container. ```bash dbclient-fetcher mysql ``` ```bash dbclient-fetcher mysql 8 ``` -------------------------------- ### Deployment Output Example Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-ssh-key.md Expected output during a successful deployment when the buildpack is correctly configured. ```text =====> Downloading Buildpack: https://github.com/Scalingo/ssh-private-key-buildpack.git =====> Detected Framework: SSH private key -----> Running SSH private key setup Warning: Permanently added 'github.com,gitlab.com' (ECDSA) to the list of known hosts. Welcome to GitLab, Étienne Michon! ``` -------------------------------- ### Procfile Calling a Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md Demonstrates how to call a custom start script defined in bin/start.sh from the Procfile for a web process. ```yaml web: bash bin/start.sh ``` -------------------------------- ### Package.json Scripts for Static File Serving Frameworks Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-start.md Define 'build' and 'start' scripts in package.json for frameworks that generate static files. The 'start' script should execute a Node.js server to serve these files. ```json { // … "scripts": { "build": "", "start": "node server.js" }, // … } ``` -------------------------------- ### Vite Start Script Configuration Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-start.md Configure the 'start' script in package.json to run Vite with a specified port. Consider using 'vite preview' or 'node server.js' if Vite compilation causes issues. ```json "scripts": { "start": "vite --port $PORT", // others scripts } } ``` -------------------------------- ### Configure Node.js App Startup with package.json Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-start.md Define your Node.js application's startup command by specifying the 'start' script in the 'scripts' section of your package.json file. This command will be executed when the application starts. ```json { ... "scripts": { "start": "node server.js" } } ``` -------------------------------- ### Example Procfile with Rails and Sidekiq Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md An example Procfile demonstrating how to define a web process for Rails and a worker process for Sidekiq, utilizing environment variables. ```yaml web: bundle exec rails server -p $PORT -e $RAILS_ENV -b 0.0.0.0 worker: bundle exec sidekiq -e $RAILS_ENV ``` -------------------------------- ### Example OpenVPN Client Configuration File Source: https://github.com/scalingo/documentation/blob/master/src/_posts/addons/scalingo-openvpn/2000-01-01-start.md This is an example of an OpenVPN client configuration file. The 'auth-user-pass' instruction indicates that the connection requires a username and password. ```openvpn client dev tun proto tcp remote route remote_host 255.255.255.255 net_gateway resolv-retry infinite redirect-gateway autolocal nobind persist-key persist-tun ca ca.pem cert cert.pem key key.pem auth-user-pass cipher AES-256-CBC auth SHA256 comp-lzo route-delay 4 verb 3 reneg-sec 0 ``` -------------------------------- ### Configure .profile Script for Tailscale Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-tailscale.md Start the Tailscale daemon and connect to your network using the .profile script. This script runs before your application starts. ```bash #!/bin/bash tailscaled --tun=userspace-networking --socks5-server=localhost:1055 --socket /tmp/tailscaled.sock & tailscale --socket /tmp/tailscaled.sock up --auth-key=$TAILSCALE_AUTHKEY ``` -------------------------------- ### Node.js Application Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-start.md Define a 'start' script in package.json to run your Node.js application. This is a common practice for defining the entry point. ```json { "scripts": { "start": "node server.js" } } ``` -------------------------------- ### Example PostgreSQL Connection URI Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/postgresql/dedicated-resources/getting-started/2000-01-01-connecting.md This is an example of the output you can expect when fetching the PostgreSQL connection URI using the Scalingo CLI. It shows a fully formed URI with placeholder credentials and connection details. ```bash postgresql://my_dedicate_wxyz:YANs3y07m5_KJC2MSDGebh8tx1lliFWh2Yb239zVqGQvbElWDjIN7QWspVH92Ul8@my-dedicate-wxyz.postgresql.a.osc-fr1.scalingo-dbs.com:31000/my_dedicate_wxyz?sslmode=require ``` -------------------------------- ### Run the setup script Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/pgvector-recommendation/index.md Execute the database initialization script as a one-off task to populate the dataset. ```bash scalingo --app my-filmreco run python3 setup.py ``` -------------------------------- ### Complex Process Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md An example Bash script for handling complex commands or conditional execution when starting a process type. This script can be called directly from the Procfile. ```bash #!/bin/bash if [ "$SOME_ENV" = "SOME_VALUE" ] ; then exec run_this_command -p $PORT else exec run_that_other_command fi ``` -------------------------------- ### Initialize application environment Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/2000-01-01-celery-flask.md Commands to create a project directory and set up a virtual environment. ```bash $ mkdir my-app $ cd my-app $ pip install virtualenv $ virtualenv venv $ . venv/bin/activate ``` -------------------------------- ### Configure Procfile Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-angular.md Specify the command to start the Nginx server. ```yaml web: bin/run ``` -------------------------------- ### Create the Scalingo application Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/n8n/index.md Initialize the application on the Scalingo platform. ```bash scalingo create my-n8n ``` -------------------------------- ### Create Scalingo Application Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/elastic-stack/kibana.md Initialize the application on the Scalingo platform. ```bash scalingo create my-kibana ``` -------------------------------- ### Create the Scalingo application Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/pgvector-recommendation/index.md Initialize a new application on the Scalingo platform. ```bash scalingo create my-filmreco ``` -------------------------------- ### Clojure App Deployment Example Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/clojure/2000-01-01-start.md Demonstrates the directory structure and the scalingo deployment process for a Clojure application. This includes creating the app and pushing to Scalingo. ```bash $ tree |-- Procfile |-- project.clj |-- README `-- src `-- sample `-- core.clj $ scalingo create my-app $ git push scalingo master ... ``` ```bash -----> Fetching custom buildpack -----> Clojure app detected -----> Installing Leiningen Downloading: leiningen-2.2.0-standalone.jar Writing: lein script -----> Building with Leiningen Running: with-profile production compile :all Downloading: org/clojure/clojure/1.2.1/clojure-1.2.1.pom from central Downloading: org/clojure/clojure/1.2.1/clojure-1.2.1.jar from central Copying 1 file to /tmp/build_2e5yol0778bcw/lib -----> Discovering process types Procfile declares types -> core Build complete, shipping your container Waiting for you application to boot <-- https://my-app.osc-fr1.scalingo.io --> ``` -------------------------------- ### Example .slugignore File Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-slugignore.md This example demonstrates using wildcards and character ranges in a .slugignore file. It excludes files starting with a letter between 'a' and 'f', followed by any characters, and ending with '.log'. Refer to Go's filepath.Match for detailed pattern rules. ```shell [a-f]*.log ``` -------------------------------- ### Add FFmpeg Package to Aptfile Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-ffmpeg.md Create an Aptfile to specify packages that the APT buildpack should install. This example adds the ffmpeg package. ```plaintext ffmpeg ``` -------------------------------- ### Initialize Node.js Application Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/nodejs/2000-01-01-tutorial.md Commands to create a project directory, initialize npm, install Express, and configure .gitignore. ```bash $ mkdir my-app $ cd my-app $ npm init # # You need to fill the different info field for your project # $ npm install express --save $ echo "node_modules" > .gitignore ``` -------------------------------- ### Define Web Container in Procfile Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-secret-file-in-app.md Specify the command to start your web container in the Procfile. This example uses a custom script to handle secret files. ```Procfile web: ./bin/start-app.sh ``` -------------------------------- ### Provision Database and Scale via CLI Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/metabase/index.md Add a PostgreSQL addon and scale the web container size. ```bash scalingo --app my-metabase addons-add postgresql postgresql-starter-512 ``` ```bash scalingo --app -my-metabase scale web:1:XL ``` -------------------------------- ### OpenVPN Connection Log Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/addons/scalingo-openvpn/2000-01-01-start.md This is an example of the output seen when the OpenVPN connection is being set up and established. It shows the connection process, IP address configuration, and route setup. ```log -----> Starting OpenVPN connection… Socket Buffers: R=[87380->131072] S=[16384->131072] OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Jun 22 2017 Attempting to establish TCP connection with [AF_INET] [nonblock] TCP connection established with [AF_INET] TCPv4_CLIENT link remote: [AF_INET] TCPv4_CLIENT link local: [undef] TLS: Initial packet from [AF_INET], sid=a0081f01 2f804579 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA [] Peer Connection Initiated with [AF_INET] Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key Data Channel Encrypt: Using 256 bit message hash 'SHA256' for HMAC authentication Data Channel Decrypt: Using 256 bit message hash 'SHA256' for HMAC authentication SENT CONTROL [dpr-scafw01]: 'PUSH_REQUEST' (status=1) ROUTE_GATEWAY 172.17.0.1/255.255.0.0 IFACE=eth0 HWADDR=02:42:ac:11:00:10 /sbin/ip addr add dev tun0 local peer TUN/TAP TX queue length set to 100 TUN/TAP device tun0 opened /sbin/ip link set dev tun0 up mtu 1500 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 OPTIONS IMPORT: timers and/or timeouts modified OPTIONS IMPORT: route options modified /sbin/ip route add /32 via 172.17.0.1 Initialization Sequence Completed /sbin/ip route add via -----> OpenVPN connected ``` -------------------------------- ### Initialize Git Repository and Commit Changes Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/ruby/2000-01-01-getting-started-with-ruby.md Prepare your project for deployment by initializing a Git repository, staging all files, and making an initial commit. ```bash $ git init $ git add . $ git commit -m "Initial commit" ``` -------------------------------- ### Create Scalingo Application Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/opensearch/guides/ingesting-logs/2000-01-01-logstash.md Initialize the application on Scalingo with the required buildpack. ```bash scalingo create my-logstash --buildpack https://github.com/Scalingo/logstash-buildpack ``` -------------------------------- ### Setup Traffic Throttling with limit_req_zone Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-nginx.md Implement traffic throttling for a Scalingo application using Nginx's limit_req_zone directive. This example sets up a rate limit of 1 request per second and a burst of 5 requests. ```nginx # instruction at the http level like limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { server_name localhost; listen <%= ENV['PORT'] %>; charset utf-8; location / { limit_req zone=one burst=5; proxy_pass http://<%= ENV["API_V1_BACKEND"] %>; } } ``` -------------------------------- ### Define Aptfile Content Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-apt.md Examples of package definitions, remote .deb files, and repository instructions for the Aptfile. ```text poppler-utils ``` ```text http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb ``` ```text :repo:deb http://cz.archive.ubuntu.com/ubuntu artful main universe ``` ```text poppler-utils http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb :repo:deb http://cz.archive.ubuntu.com/ubuntu artful main universe ``` -------------------------------- ### Install Scalingo CLI within an application container Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-tasks.md To install the Scalingo CLI, execute the `install-scalingo-cli` script within an attached one-off bash session. This downloads, extracts, and installs the CLI to `/app/bin`. ```bash $ scalingo --app my-app run bash [10:51][osc-fr1] Scalingo ~ $ install-scalingo-cli -----> Downloading Scalingo client... DONE -----> Extracting... DONE -----> Install scalingo client to /app/bin -----> Installation completed, the command 'scalingo' is available. ``` -------------------------------- ### Create App and Setup Git Remote Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/2000-01-01-deploy-with-git.md Initialize a new Scalingo application and configure the Git remote for deployment. ```bash # Create app with the CLI (or create one from the Dashboard): scalingo create my-app # Setup the Git remote: git remote add scalingo git@ssh.osc-fr1.scalingo.com:my-app.git ``` -------------------------------- ### Create a Basic PHP Index File Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/php/2000-01-01-tutorial.md This is a minimal PHP file to display 'Hello World' when accessed. ```php

Hello World from a Scalingo application

``` -------------------------------- ### Install Gems Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/ruby/2000-01-01-getting-started-with-ruby.md Execute this command after modifying your Gemfile to install all specified gem dependencies. ```bash $ bundle install ``` -------------------------------- ### Install Celery and Redis dependencies Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/2000-01-01-celery-flask.md Install the necessary packages for task processing and caching. ```bash pip install celery pip install redis ``` -------------------------------- ### Update Procfile for Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/django/2000-01-01-start.md Procfile configuration to execute the custom start script. ```yaml web: bash bin/start.sh ``` -------------------------------- ### Initialize and Run Scalatra Application Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/scala/scalatra/2000-01-01-start.md Commands to generate the project structure and start the local Jetty server. ```bash $ g8 scalatra/scalatra-sbt # # You need to fill the different info field for your project # $ cd /your/project/directory # # Run it locally # $ chmod u+x sbt $ ./sbt > jetty:start ``` -------------------------------- ### Create App and Provision MongoDB Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/meteorjs/2000-01-01-tutorial.md Commands to create a Scalingo application and add a MongoDB database addon. ```bash $ scalingo create my-app Git repository detected: remote scalingo added → 'git push scalingo master' to deploy your app $ scalingo --app my-app addons-add mongodb mongo-starter-256 -----> Addon mongodb has been provisionned ID: my-app-7247 Modified variables: [MONGO_URL SCALINGO_MONGO_URL] Message from addon provider: Database is being provisioned ``` -------------------------------- ### Invalid and Correct Shebang Examples Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/ruby/2000-01-01-common-mistakes.md Examples of an incorrect version-specific shebang and the recommended generic shebang. ```bash #!/usr/bin/env ruby2.5 ``` ```bash #!/usr/bin/env ruby ``` -------------------------------- ### Verify GraphicsMagick installation Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-graphicsmagick.md Run the gm version command to confirm that GraphicsMagick is correctly installed and accessible. ```bash $ scalingo run gm version GraphicsMagick 1.3.23 2015-11-07 Q8 http://www.GraphicsMagick.org/ Copyright (C) 2002-2015 GraphicsMagick Group. Additional copyrights and licenses apply to this software. See http://www.GraphicsMagick.org/www/Copyright.html for details. Feature Support: Native Thread Safe yes Large Files (> 32 bit) yes Large Memory (> 32 bit) yes BZIP yes DPS no FlashPix no FreeType yes Ghostscript (Library) no JBIG yes JPEG-2000 yes JPEG yes Little CMS yes Loadable Modules no OpenMP yes (201107) PNG yes TIFF yes TRIO no UMEM no WebP no WMF yes X11 yes XML yes ZLIB yes Host type: x86_64-unknown-linux-gnu Configured using the command: ./configure '--prefix' '/app/vendor/graphicsmagick' Final Build Parameters: CC = gcc -std=gnu99 CFLAGS = -fopenmp -g -O2 -Wall -pthread CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/libxml2 CXX = g++ CXXFLAGS = -pthread LDFLAGS = -L/usr/lib/x86_64-linux-gnu LIBS = -ljbig -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng12 -lwmflite -lXext -lSM -lICE -lX11 -llzma -lbz2 -lxml2 -lz -lm -lgomp -lpthread ``` -------------------------------- ### Verify FFmpeg Installation Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-ffmpeg.md Run a one-off container to execute the ffmpeg command and confirm its installation and version. ```bash $ scalingo --app my-app run bash [00:00] Scalingo ~ $ ffmpeg ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg' ``` -------------------------------- ### Clone and Create Metabase App via CLI Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/metabase/index.md Initial steps to clone the Metabase repository and create the application on Scalingo. ```bash git clone https://github.com/Scalingo/metabase-scalingo cd metabase-scalingo ``` ```bash scalingo create my-metabase ``` -------------------------------- ### Install Conscript and Giter8 Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/scala/scalatra/2000-01-01-start.md Use these commands to install the necessary tools for managing Scala project templates. ```bash # # Install conscript and giter8 # $ curl https://raw.githubusercontent.com/foundweekends/conscript/master/setup.sh | sh $ cs foundweekends/giter8 ``` -------------------------------- ### Get Help for Integration Link Create Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/2000-01-01-deploy-with-gitlab.md Display comprehensive help information for the `integration-link-create` command, listing all available configuration flags. ```bash $ scalingo help integration-link-create ``` -------------------------------- ### Deploying a Scala application Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/scala/2000-01-01-start.md Standard workflow for initializing and deploying a Scala application to Scalingo. ```bash $ ls Procfile build.sbt project src $ scalingo create my-app $ git push scalingo master ... -----> Scala app detected -----> Building app with sbt -----> Running: sbt compile stage ``` -------------------------------- ### Example Connection URI Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/mysql/getting-started/2000-01-01-connecting.md A sample output format of the connection URI retrieved from the Scalingo CLI. ```bash mysql://my_app_wxyz:Q7X7CU2vGjFiLZrA43OG@YANs3y07m5_KJC2MSDGebh8tx1lliFWh2Yb239zVqGQvbElWDjIN7QWspVH92Ul8.my-app-wxyz.mysql.a.osc-fr1.scalingo-dbs.com:31000/my_app_wxyz?useSSL=true&verifyServerCertificate=false ``` -------------------------------- ### Example Output: List Maintenance Operations Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/about/2000-01-01-maintenance-windows.md This is an example of the output format when listing database maintenance operations. ```text +--------------------------+-------------------+---------------------+---------------------+--------+ | ID | TYPE | STARTED AT | ENDED AT | STATUS | +--------------------------+-------------------+---------------------+---------------------+--------+ | 65143fd19307d522665facc0 | db-node-migration | 2023/09/29 13:00:00 | 2023/09/29 13:00:00 | done | +--------------------------+-------------------+---------------------+---------------------+--------+ ``` -------------------------------- ### Get Redis Connection String Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/redis/2000-01-01-dump-restore.md Retrieve the SCALINGO_REDIS_URL environment variable to get your database connection string. ```bash $ scalingo --app my-app env-get SCALINGO_REDIS_URL ``` -------------------------------- ### Example Git Configuration Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/getting-started/2000-01-01-setup-git-windows.md Shows a sample output of the 'git config --list' command, displaying configured user details and color settings. ```text user.name=John Doe user.email=johndoe@example.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto ``` -------------------------------- ### Install foreman gem Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md Install the foreman gem to manage processes defined in your Procfile. This is a prerequisite for using foreman. ```bash gem install foreman ``` -------------------------------- ### Create an application via CLI Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-lifecycle-management.md Use the scalingo create command to initialize a new application with optional parameters for remotes, buildpacks, or project IDs. ```bash $ scalingo create # Create a new app with a custom Git remote $ scalingo create my-app --remote staging # Create a new app with a custom buildpack $ scalingo create my-app --buildpack https://github.com/Scalingo/multi-buildpack # Create a new app in the chosen project $ scalingo create --project-id=prj-6731a609-02b6-4614-b28d-5abe43654333 my-app ``` -------------------------------- ### Fix Webpacker Installation Errors Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/ruby/rails/2000-01-01-start.md Commands to resolve missing webpack command errors by installing necessary binstubs. ```sh bundle exec rails yarn:install bundle exec rails webpacker:install ``` -------------------------------- ### Create Start Script Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/django/2000-01-01-start.md A shell script to manage application startup, providing flexibility in server execution. ```sh #!/bin/bash gunicorn myapp.wsgi --log-file - ``` -------------------------------- ### Create new applications Source: https://github.com/scalingo/documentation/blob/master/src/_posts/tools/cli/2000-01-01-features.md Initialize a new application and optionally specify a custom Git remote. ```bash scalingo create my-app # Create a new app with a custom Git remote scalingo --remote staging create my-app scalingo --remote production create my-app scalingo --remote custom create my-app ``` -------------------------------- ### Install dependencies during deployment Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/ruby/2000-01-01-bundler-configuration.md The standard command executed by Scalingo to install dependencies while excluding development and test groups. ```bash bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin ``` -------------------------------- ### Example Output: Maintenance Operation Info Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/about/2000-01-01-maintenance-windows.md This is an example of the output format when retrieving details for a specific maintenance operation. ```text +------------+----------------------------------------------+ | ID | 656ddbd39307d5ec79ff748b | | Type | db-node-migration | | Started At | Next Maintenance Window: 2023/12/08 12:00:00 | | Ended At | | | Status | scheduled | +------------+----------------------------------------------+ ``` -------------------------------- ### Initialize and Commit Application Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/python/django/2000-01-01-start.md Initialize a Git repository and commit the initial project files. ```bash git init git add . git commit -m "Init Django application" ``` -------------------------------- ### Locale Buildpack Installation Output Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-locale.md This output shows the process of the locale buildpack downloading and installing the German language pack. ```text =====> Downloading Buildpack: https://github.com/Scalingo/locale-buildpack.git =====> Detected Framework: Locale === Updating or installing language-pack-de-base Ign http://archive.ubuntu.com trusty InRelease Get:1 http://archive.ubuntu.com trusty-updates InRelease [65.9 kB] Get:2 http://archive.ubuntu.com trusty-security InRelease [65.9 kB] [...] Fetched 23.2 MB in 15s (1477 kB/s) Reading package lists... Reading package lists... Building dependency tree... The following extra packages will be installed: language-pack-de The following NEW packages will be installed: language-pack-de language-pack-de-base 0 upgraded, 2 newly installed, 0 to remove and 97 not upgraded. Need to get 3068 kB of archives. After this operation, 13.1 MB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main language-pack-de-base all 1:14.04+20160720 [3066 kB] Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main language-pack-de all 1:14.04+20160720 [1810 B] Fetched 3068 kB in 0s (19.5 MB/s) Download complete and in download only mode === Updating or installing language-pack-fr-base Ign http://archive.ubuntu.com trusty InRelease Hit http://archive.ubuntu.com trusty-updates InRelease Hit http://archive.ubuntu.com trusty-security InRelease [...] Reading package lists... Reading package lists... Building dependency tree... The following extra packages will be installed: language-pack-fr The following NEW packages will be installed: language-pack-fr language-pack-fr-base 0 upgraded, 2 newly installed, 0 to remove and 97 not upgraded. Need to get 2681 kB of archives. After this operation, 11.5 MB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main language-pack-fr-base all 1:14.04+20160720 [2679 kB] Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main language-pack-fr all 1:14.04+20160720 [1824 B] Fetched 2681 kB in 0s (16.4 MB/s) Download complete and in download only mode === Unpacking and configuring all locales ``` -------------------------------- ### Configure Multi-Buildpack for APT Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/deployment/buildpacks/2000-01-01-apt.md Commands to initialize a new application and define the .buildpacks file to include the APT buildpack. ```console $ scalingo create my-app $ cat << EOF > .buildpacks https://github.com/Scalingo/apt-buildpack.git https://github.com/Scalingo/ruby-buildpack.git EOF ``` -------------------------------- ### Install Composer Dependencies Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/php/2000-01-01-tutorial.md Run this command to install project dependencies and generate lock files. It also generates autoload files. ```bash $ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Writing lock file Generating autoload files ``` -------------------------------- ### Start SSH Agent Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/getting-started/2000-01-01-setup-ssh-linux.md Starts the SSH agent in the background and sets up environment variables for its use. This is necessary before adding keys to the agent. ```bash eval "$(ssh-agent -s)" ``` -------------------------------- ### Provision PostgreSQL Addon Source: https://github.com/scalingo/documentation/blob/master/src/_tutorials/sonarqube/index.md Add a Scalingo for PostgreSQL Starter 512 addon to your application. This command requires the application name to be specified. ```bash scalingo --app my-sonarqube addons-add postgresql postgresql-starter-512 ``` -------------------------------- ### Nginx Access Log Output Example Source: https://github.com/scalingo/documentation/blob/master/src/_posts/languages/php/2000-01-01-start.md An example of a single log entry using the default Nginx access log format. ```text 109.26.203.98 - "GET / HTTP/1.1" 200 1761 "https://google.com/search" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0" ``` -------------------------------- ### Connect via psql Source: https://github.com/scalingo/documentation/blob/master/src/_posts/databases/postgresql/shared-resources/getting-started/2000-01-01-connecting.md Example of connecting to the database using the psql command-line tool and the environment variable. ```shell > psql $SCALINGO_POSTGRESQL_URL psql (14.8) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. my_app_wxyz=> ``` -------------------------------- ### Start processes with foreman Source: https://github.com/scalingo/documentation/blob/master/src/_posts/platform/app/2000-01-01-procfile.md Use the `foreman start` command to execute all processes defined in your Procfile. Foreman will manage and display the output of each process. ```bash └> cat Procfile web: bin/project worker: bin/project -worker └> foreman start 17:52:56 web.1 | started with pid 10663 17:52:56 worker.1 | started with pid 10664 17:52:56 web.1 | 2014/12/01 17:52:56 Listen HTTP requests on :5000 17:52:56 worker.1 | 2014/12/01 17:52:56 Starting Asynchronous worker ```