Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions ct/headers/retype
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
____ __
/ __ \___ / /___ ______ ___
/ /_/ / _ \/ __/ / / / __ \/ _ \
/ _, _/ __/ /_/ /_/ / /_/ / __/
/_/ |_|\___/\__/\__, / .___/\___/
/____/_/

65 changes: 65 additions & 0 deletions ct/retype.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: kairosys-dev
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://retype.com/

APP="Retype"
var_tags="${var_tags:-docs}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
var_unprivileged="${var_unprivileged:-1}"

header_info "$APP"
variables
color
catch_errors

function update_script() {
header_info
check_container_storage
check_container_resources

if [[ ! -f "/root/retype.yml" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi

RELEASE=$(curl -fsSL https://api.github.com/repos/retypeapp/retype/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop $APP
msg_ok "Stopped $APP"

msg_info "Creating Backup"
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /root/*
msg_ok "Backup Created"

msg_info "Updating $APP to v${RELEASE}"
$STD npm install retypeapp --global
msg_ok "Updated $APP to v${RELEASE}"

msg_info "Starting $APP"
systemctl start $APP
msg_ok "Started $APP"

echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}

start
build_container
description

msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5001${CL}"
35 changes: 35 additions & 0 deletions frontend/public/json/retype.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "Retype",
"slug": "retype",
"categories": [
12
],
"date_created": "2025-11-11",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 5001,
"documentation": "https://retype.com/",
"config_path": "/root/retype.yml",
"website": "https://retype.com/",
"logo": "https://avatars.githubusercontent.com/u/76267054",
"description": "Retype is a static website generator that builds a website based on simple Markdown (.md) text files. Focus on your writing while Retype builds the rest.",
"install_methods": [
{
"type": "default",
"script": "ct/retype.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Ubuntu",
"version": "24.04"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}
53 changes: 53 additions & 0 deletions install/retype-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash

# Copyright (c) 2021-2025 community-scripts ORG
# Author: kairosys-dev
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://retype.com/

source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os

msg_info "Installing Dependencies"
$STD apt-get install -y \
nodejs \
npm
msg_ok "Installed Dependencies"

NODE_VERSION="22" NODE_MODULE="node-gyp" setup_nodejs

msg_info "Setup ${APPLICATION}"
$STD npm install retypeapp --global
RELEASE=$(curl -fsSL https://api.github.com/repos/retypeapp/retype/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt
msg_ok "Setup ${APPLICATION}"

msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/"${APPLICATION}".service
[Unit]
Description=${APPLICATION} Service
After=network.target
[Service]
ExecStart=retype start --host 0.0.0.0
Restart=always
WorkingDirectory=/root
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now "${APPLICATION}"
msg_ok "Created Service"

motd_ssh
customize

msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"