Passo 1: Atualizando a lista de pacotes e instalando Python...${NC}" sudo apt-get update sudo apt-get install -y python3 python3-pip python3-venv # --- Passo 2: Instalar o Calibre --- echo -e "\n${YELLOW}--> Passo 2: Baixando e instalando a versão mais recente do Calibre...${NC}" if command -v calibre &> /dev/null then echo -e "${GREEN}O Calibre já está instalado. Pulando esta "> Passo 1: Atualizando a lista de pacotes e instalando Python...${NC}" sudo apt-get update sudo apt-get install -y python3 python3-pip python3-venv # --- Passo 2: Instalar o Calibre --- echo -e "\n${YELLOW}--> Passo 2: Baixando e instalando a versão mais recente do Calibre...${NC}" if command -v calibre &> /dev/null then echo -e "${GREEN}O Calibre já está instalado. Pulando esta "> Passo 1: Atualizando a lista de pacotes e instalando Python...${NC}" sudo apt-get update sudo apt-get install -y python3 python3-pip python3-venv # --- Passo 2: Instalar o Calibre --- echo -e "\n${YELLOW}--> Passo 2: Baixando e instalando a versão mais recente do Calibre...${NC}" if command -v calibre &> /dev/null then echo -e "${GREEN}O Calibre já está instalado. Pulando esta ">
#!/bin/bash

# ==============================================================================
# Script para Instalar o Calibre e o Calibre Web no Linux Mint
# ==============================================================================
# Autor: Gemini (Google AI)
# Data:  08/08/2025
# ==============================================================================

# Cores para o terminal
GREEN='\\033[0;32m'
YELLOW='\\033[1;33m'
NC='\\033[0m' # Sem Cor

echo -e "${GREEN}Iniciando a instalação do Calibre e Calibre Web...${NC}"

# --- Passo 1: Atualizar pacotes e instalar dependências ---
echo -e "\\n${YELLOW}--> Passo 1: Atualizando a lista de pacotes e instalando Python...${NC}"
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv

# --- Passo 2: Instalar o Calibre ---
echo -e "\\n${YELLOW}--> Passo 2: Baixando e instalando a versão mais recente do Calibre...${NC}"
if command -v calibre &> /dev/null
then
    echo -e "${GREEN}O Calibre já está instalado. Pulando esta etapa.${NC}"
else
    sudo -v && wget -nv -O- <https://download.calibre-ebook.com/linux-installer.sh> | sudo sh /dev/stdin
    # Cria a pasta padrão do Calibre se ela não existir
    if [ ! -d "$HOME/Calibre Library" ]; then
        echo -e "${YELLOW}Criando o diretório padrão da Biblioteca Calibre...${NC}"
        mkdir -p "$HOME/Calibre Library"
    fi
fi

# --- Passo 3: Criar o ambiente virtual e instalar o Calibre Web ---
echo -e "\\n${YELLOW}--> Passo 3: Configurando o ambiente para o Calibre Web...${NC}"
INSTALL_DIR="$HOME/calibre-web"

if [ -d "$INSTALL_DIR" ]; then
    echo -e "${YELLOW}O diretório de instalação '$INSTALL_DIR' já existe. Pulando a criação do ambiente virtual.${NC}"
else
    mkdir -p "$INSTALL_DIR"
    python3 -m venv "$INSTALL_DIR/venv"
    echo -e "${GREEN}Ambiente virtual criado em '$INSTALL_DIR/venv'.${NC}"
fi

echo -e "\\n${YELLOW}--> Instalando o Calibre Web...${NC}"
source "$INSTALL_DIR/venv/bin/activate"
pip install calibreweb
deactivate

# --- Passo 4: Criar script para iniciar o servidor ---
echo -e "\\n${YELLOW}--> Passo 4: Criando um script para iniciar o Calibre Web facilmente...${NC}"

# O 'readlink' garante que obteremos o caminho absoluto, mesmo se a home for um link simbólico.
CALIBRE_DB_PATH=$(readlink -f "$HOME/Calibre Library")

cat << EOF > "$HOME/iniciar_calibre_web.sh"
#!/bin/bash
echo "Iniciando o servidor Calibre Web..."
echo "Acesse em seu navegador: <http://localhost:8083>"
echo "Pressione Ctrl+C para parar o servidor."

# Ativa o ambiente virtual
source "$HOME/calibre-web/venv/bin/activate"

# Inicia o Calibre Web
cps

# Desativa o ambiente virtual ao sair
deactivate
EOF

chmod +x "$HOME/iniciar_calibre_web.sh"

# --- Conclusão ---
echo -e "\\n\\n${GREEN}====================================================="
echo -e "      INSTALAÇÃO CONCLUÍDA COM SUCESSO!"
echo -e "=====================================================${NC}"
echo -e "Para iniciar o Calibre Web pela primeira vez, execute o seguinte comando no terminal:"
echo -e "\\n    ${YELLOW}./iniciar_calibre_web.sh${NC}\\n"
echo -e "Depois, siga estas instruções:"
echo -e "1. Abra seu navegador e acesse: ${YELLOW}http://localhost:8083${NC}"
echo -e "2. Na página de configuração, no campo 'Localização do banco de dados do Calibre', insira o seguinte caminho:"
echo -e "   ${YELLOW}$CALIBRE_DB_PATH${NC}"
echo -e "3. Clique em 'Salvar'."
echo -e "4. Faça login com o usuário '${YELLOW}admin${NC}' e a senha '${YELLOW}admin123${NC}'."
echo -e "5. ${YELLOW}É altamente recomendável alterar a senha padrão após o primeiro login.${NC}"
echo -e "\\nPara futuras execuções, basta rodar o script ${YELLOW}./iniciar_calibre_web.sh${NC} novamente."
echo -e "-----------------------------------------------------"

jellyfin - script de acesso a pasta - vesão melhorada 15/02/2025

#!/bin/bash

# Nome da pasta de filmes
FOLDER="$HOME/jelly2"

# Verifica se o script está sendo executado com privilégios de root
if [[ $EUID -ne 0 ]]; then
   echo "Este script deve ser executado como root."
   exit 1
fi

# Usuário que você criou para o Jellyfin
USER_JELLYFIN="user"

# Nome do usuário do serviço Jellyfin (normalmente 'jellyfin')
SERVICE_JELLYFIN="jellyfin"

# Verifica se a pasta existe, se não, cria
if [[ ! -d "$FOLDER" ]]; then
    echo "A pasta $FOLDER não existe. Criando..."
    mkdir -p "$FOLDER"
fi

# Ajusta a propriedade da pasta para garantir que "user" seja o dono
chown -R "$USER_JELLYFIN:$USER_JELLYFIN" "$FOLDER"

# Define permissões padrão para a pasta:
chmod -R 775 "$FOLDER"  # Leitura e execução para todos, gravação para o proprietário e grupo

# Concede acesso de leitura e execução ao serviço Jellyfin
setfacl -R -m u:$SERVICE_JELLYFIN:rx "$FOLDER"
setfacl -dR -m u:$SERVICE_JELLYFIN:rx "$FOLDER"

echo "Permissões ajustadas para a pasta $FOLDER."

# Confirmação final
echo "Configuração concluída. Certifique-se de reiniciar o serviço Jellyfin."

Testar novo script de compartilhamento ( funcionou no teste preliminar) comum

codigo melhorado - criar pasta e compartilhar anonimo

#!/bin/bash

# Configurações
PASTA="/home/$USER/shared" # Ajusta dinamicamente para o usuário atual
USUARIO="$USER"
NOME_COMPARTILHAMENTO="shared"

# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p "$PASTA"

# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R "$USUARIO:$USUARIO" "$PASTA"
sudo chmod -R 777 "$PASTA"

# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
    echo "Instalando Samba..."
    sudo apt update
    sudo apt install -y samba
fi

# Adicionar configuração ao smb.conf (evitar duplicação)
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
if ! grep -q "^\\[$NOME_COMPARTILHAMENTO\\]" "$SAMBA_CONFIG"; then
    sudo bash -c "cat >> $SAMBA_CONFIG <<EOL

[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
force user = $USUARIO
EOL"
else
    echo "Configuração para $NOME_COMPARTILHAMENTO já existe no smb.conf. Ignorando."
fi

# Reiniciar serviços do Samba
echo "Reiniciando serviço Samba..."
if systemctl list-units | grep -q smbd.service; then
    sudo systemctl restart smbd
else
    echo "Serviço smbd não encontrado. Verifique a instalação do Samba."
fi

if systemctl list-units | grep -q nmbd.service; then
    sudo systemctl restart nmbd
fi

echo "Pasta $PASTA criada e compartilhada com sucesso!"

Criar pasta compartilhada Scritp ( nao sei se foi testado)

#!/bin/bash

# Configurações
PASTA="/home/user/shared"
USUARIO="user"
GRUPO="familia"
NOME_COMPARTILHAMENTO="shared"

# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p $PASTA

# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R $USUARIO:$GRUPO $PASTA
sudo chmod -R 770 $PASTA

# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
    echo "Instalando Samba..."
    sudo apt update
    sudo apt install -y samba
fi

# Adicionar configuração ao smb.conf
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
sudo bash -c "cat >> $SAMBA_CONFIG <<EOL

[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
valid users = $USUARIO
read only = no
browsable = yes
public = yes
writable = yes
EOL"

# Criar senha para o usuário Samba
echo "Criando senha para o usuário Samba..."
(echo "senha_do_user"; echo "senha_do_user") | sudo smbpasswd -a $USUARIO -s

# Reiniciar serviço Samba
echo "Reiniciando serviço Samba..."
sudo systemctl restart smbd

echo "Pasta $PASTA criada e compartilhada com sucesso!"

Criar com acesso anonimo ( funcionou)

#!/bin/bash

# Configurações
PASTA="/home/user/shared"
USUARIO="user"
GRUPO="familia"
NOME_COMPARTILHAMENTO="shared"

# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p $PASTA

# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R $USUARIO:$GRUPO $PASTA
sudo chmod -R 777 $PASTA

# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
    echo "Instalando Samba..."
    sudo apt update
    sudo apt install -y samba
fi

# Adicionar configuração ao smb.conf
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
sudo bash -c "cat >> $SAMBA_CONFIG <<EOL

[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
force user = $USUARIO
EOL"

# Reiniciar serviço Samba
echo "Reiniciando serviço Samba..."
sudo systemctl restart smbd

echo "Pasta $PASTA criada e compartilhada com sucesso!"

jellyfin on Mint 22

https://linuxcapable.com/pt/como-instalar-jellyfin-media-server-no-linux-mint/