Files
ProxmoxVE/install/outline-install.sh
T
CanbiZ (MickLesk) eb1d9051fd outline: fix URL sed matching wrong line in .env.sample // refactor .env generation (#16408)
* outline: fix URL sed matching wrong line in .env.sample

* Refactor environment variable configuration in install script
2026-08-11 21:49:05 +02:00

74 lines
2.0 KiB
Bash

#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/outline/outline
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
mkcert \
git \
redis
msg_ok "Installed Dependencies"
NODE_VERSION="26" NODE_MODULE="corepack" setup_nodejs
PG_VERSION="16" setup_postgresql
PG_DB_NAME="outline" PG_DB_USER="outline" setup_postgresql_db
fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
msg_info "Configuring Outline (Patience)"
SECRET_KEY="$(openssl rand -hex 32)"
UTILS_SECRET="$(openssl rand -hex 32)"
cd /opt/outline
cp .env.sample .env
export NODE_ENV=development
sed -i "s#^NODE_ENV=.*#NODE_ENV=development#" /opt/outline/.env
sed -i "s#^SECRET_KEY=.*#SECRET_KEY=${SECRET_KEY}#" /opt/outline/.env
sed -i "s#^UTILS_SECRET=.*#UTILS_SECRET=${UTILS_SECRET}#" /opt/outline/.env
sed -i "s#^DATABASE_URL=.*#DATABASE_URL=postgres://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}#" /opt/outline/.env
sed -i "s#^REDIS_URL=.*#REDIS_URL=redis://localhost:6379#" /opt/outline/.env
sed -i "s#^URL=.*#URL=http://${LOCAL_IP}#" /opt/outline/.env
sed -i "s#^FORCE_HTTPS=.*#FORCE_HTTPS=false#" /opt/outline/.env
export NODE_OPTIONS="--max-old-space-size=3584"
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
$STD yarn install --immutable
export NODE_ENV=production
sed -i "s#^NODE_ENV=.*#NODE_ENV=production#" /opt/outline/.env
$STD yarn build
msg_ok "Configured Outline"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/outline.service
[Unit]
Description=Outline Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/outline
ExecStart=/usr/bin/yarn start
Restart=always
EnvironmentFile=/opt/outline/.env
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now outline
msg_ok "Created Service"
motd_ssh
customize
cleanup_lxc