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/