#!/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 </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