#!/bin/bash # ***** BEGIN LICENSE BLOCK ***** # # Copyright (C) 2017-2019 Olof Hagsand # Copyright (C) 2020-2021 Olof Hagsand and Rubicon Communications, LLC(Netgate) # # This file is part of CLIXON # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Alternatively, the contents of this file may be used under the terms of # the GNU General Public License Version 3 or later (the "GPL"), # in which case the provisions of the GPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of the GPL, and not to allow others to # use your version of this file under the terms of Apache License version 2, # indicate your decision by deleting the provisions above and replace them with # the notice and other provisions required by the GPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the Apache License version 2 or the GPL. # # ***** END LICENSE BLOCK ***** # Usage: ./startup.sh # Debug: DBG=1 ./startup.sh # This script runs _outside_ the container on the host, and triggers the startsystem.sh that runs # _inside_ the container. # @see cleanup.sh and startsystem.sh # >&2 echo "Running script: $0" # Error function # usage: err $msg err(){ echo "\e[31m\n[Error $1]" echo "\e[0m" exit 1 } # Turn on debug in containers (restconf, backend) DBG=${DBG:-0} # Expose other host port than port 80 PORT=${PORT:-8080} SPORT=${SPORT:-8443} # Initial running datastore content (other than empty) STORE=${STORE:-} CONFIG0=$(cat < /usr/local/etc/example.xml *:* /usr/local/share/clixon clixon-example example /usr/local/lib/example/backend /usr/local/lib/example/netconf /usr/local/lib/example/restconf /usr/local/lib/example/cli /usr/local/lib/example/clispec /usr/local/var/example/example.sock /usr/local/var/example/example.pidfile 1 VARS /usr/local/var/example 0 init disabled EOF ) CONFIG=${CONFIG:-$CONFIG0} # Start clixon-example backend >&2 echo -n "Starting Backend..." sudo docker run -p $PORT:80 -p $SPORT:443 --name clixon-system --rm -e DBG=$DBG -e CONFIG="$CONFIG" -e STORE="$STORE" -td clixon/clixon-system || err "Error starting clixon-system" >&2 echo "clixon-system started"