mirror of
https://code.castopod.org/adaures/castopod.git
synced 2024-10-02 14:41:13 +02:00
chore(i18n): new Crowdin updates
This commit is contained in:
parent
3fd5efc795
commit
8833bc53cb
@ -24,7 +24,7 @@ return [
|
|||||||
'comments' => 'Kommentare',
|
'comments' => 'Kommentare',
|
||||||
'activity' => 'Aktivitäten',
|
'activity' => 'Aktivitäten',
|
||||||
'chapters' => 'Kapitel',
|
'chapters' => 'Kapitel',
|
||||||
'transcript' => 'Transcript',
|
'transcript' => 'Protokoll',
|
||||||
'description' => 'Beschreibung der Episode',
|
'description' => 'Beschreibung der Episode',
|
||||||
'number_of_comments' => '{numberOfComments, plural,
|
'number_of_comments' => '{numberOfComments, plural,
|
||||||
one {# Kommentar}
|
one {# Kommentar}
|
||||||
@ -45,6 +45,6 @@ return [
|
|||||||
'publish_edit' => 'Veröffentlichung bearbeiten',
|
'publish_edit' => 'Veröffentlichung bearbeiten',
|
||||||
],
|
],
|
||||||
'no_chapters' => 'Für diese Episode sind keine Kapitel verfügbar.',
|
'no_chapters' => 'Für diese Episode sind keine Kapitel verfügbar.',
|
||||||
'download_transcript' => 'Download transcript ({extension})',
|
'download_transcript' => 'Protokoll herunterladen ({extension})',
|
||||||
'no_transcript' => 'No transcript available for this episode.',
|
'no_transcript' => 'Für diese Episode ist kein Protokoll verfügbar.',
|
||||||
];
|
];
|
||||||
|
@ -23,7 +23,7 @@ return [
|
|||||||
'comments' => 'コメント',
|
'comments' => 'コメント',
|
||||||
'activity' => 'アクティビティ',
|
'activity' => 'アクティビティ',
|
||||||
'chapters' => '章',
|
'chapters' => '章',
|
||||||
'transcript' => 'Transcript',
|
'transcript' => '文字起こし',
|
||||||
'description' => 'エピソードの詳細',
|
'description' => 'エピソードの詳細',
|
||||||
'number_of_comments' => '{numberOfComments, plural,
|
'number_of_comments' => '{numberOfComments, plural,
|
||||||
one {# comment}
|
one {# comment}
|
||||||
@ -43,7 +43,7 @@ return [
|
|||||||
'publish' => '公開する',
|
'publish' => '公開する',
|
||||||
'publish_edit' => '出版物を編集',
|
'publish_edit' => '出版物を編集',
|
||||||
],
|
],
|
||||||
'no_chapters' => 'No chapters are available for this episode.',
|
'no_chapters' => 'このエピソードにはチャプターがありません。',
|
||||||
'download_transcript' => 'Download transcript ({extension})',
|
'download_transcript' => '文字起こしをダウンロード ({extension})',
|
||||||
'no_transcript' => 'No transcript available for this episode.',
|
'no_transcript' => 'このエピソードには文字起こしがありません。',
|
||||||
];
|
];
|
||||||
|
@ -10,28 +10,28 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'your_handle' => 'あなたのユーザー ID',
|
'your_handle' => 'あなたのユーザー ID',
|
||||||
'your_handle_hint' => 'Enter the @username@domain you want to act from.',
|
'your_handle_hint' => 'フォームに「@username@domain」の形式で入力してください',
|
||||||
'follow' => [
|
'follow' => [
|
||||||
'label' => 'フォロー',
|
'label' => 'フォロー',
|
||||||
'title' => '{actorDisplayName} をフォロー',
|
'title' => '{actorDisplayName} をフォロー',
|
||||||
'subtitle' => 'You are going to follow:',
|
'subtitle' => 'フォロー中:',
|
||||||
'accountNotFound' => 'アカウントが見つかりませんでした',
|
'accountNotFound' => 'アカウントが見つかりませんでした',
|
||||||
'remoteFollowNotAllowed' => 'このアカウントサーバーはリモートフォローを許可しておりません',
|
'remoteFollowNotAllowed' => 'このアカウントサーバーはリモートフォローを許可しておりません',
|
||||||
'submit' => 'フォローする',
|
'submit' => 'フォローする',
|
||||||
],
|
],
|
||||||
'favourite' => [
|
'favourite' => [
|
||||||
'title' => "お気に入りの {actorDisplayName}の投稿",
|
'title' => "お気に入りの {actorDisplayName}の投稿",
|
||||||
'subtitle' => 'You are going to favourite:',
|
'subtitle' => 'お気に入りに登録中:',
|
||||||
'submit' => 'お気に入り登録する',
|
'submit' => 'お気に入り登録する',
|
||||||
],
|
],
|
||||||
'reblog' => [
|
'reblog' => [
|
||||||
'title' => "Share {actorDisplayName}'s post",
|
'title' => "{actorDisplayName} の投稿を共有する",
|
||||||
'subtitle' => 'You are going to share:',
|
'subtitle' => '共有中:',
|
||||||
'submit' => '共有する',
|
'submit' => '共有する',
|
||||||
],
|
],
|
||||||
'reply' => [
|
'reply' => [
|
||||||
'title' => "Reply to {actorDisplayName}'s post",
|
'title' => "{actorDisplayName} の投稿に返信する",
|
||||||
'subtitle' => 'You are going to reply to:',
|
'subtitle' => '返信中:',
|
||||||
'submit' => '返信する',
|
'submit' => '返信する',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -38,16 +38,16 @@ return [
|
|||||||
one {# episode}
|
one {# episode}
|
||||||
other {# episodes}
|
other {# episodes}
|
||||||
}',
|
}',
|
||||||
'first_published_at' => 'First episode published on {0, date, medium}',
|
'first_published_at' => '初回は{0, date, medium} に投稿されました。',
|
||||||
],
|
],
|
||||||
'sponsor' => 'Sponsor',
|
'sponsor' => 'スポンサー',
|
||||||
'funding_links' => 'Funding links for {podcastTitle}',
|
'funding_links' => '{podcastTitle} のリンクを探す',
|
||||||
'find_on' => 'Find {podcastTitle} on',
|
'find_on' => '{podcastTitle} を検索',
|
||||||
'listen_on' => 'Listen on',
|
'listen_on' => '視聴中',
|
||||||
'persons' => '{personsCount, plural,
|
'persons' => '{personsCount, plural,
|
||||||
one {# person}
|
one {# person}
|
||||||
other {# persons}
|
other {# persons}
|
||||||
}',
|
}',
|
||||||
'persons_list' => 'Persons',
|
'persons_list' => '人数',
|
||||||
'castopod_website' => 'Castopod (website)',
|
'castopod_website' => 'Castopod (公式ページ)',
|
||||||
];
|
];
|
||||||
|
@ -9,15 +9,15 @@ declare(strict_types=1);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'title' => "{actorDisplayName}'s post",
|
'title' => "{actorDisplayName} の投稿",
|
||||||
'back_to_actor_posts' => 'Back to {actor} posts',
|
'back_to_actor_posts' => '{actor} の投稿一覧に戻る',
|
||||||
'actor_shared' => '{actor} shared',
|
'actor_shared' => '{actor} が共有しました',
|
||||||
'reply_to' => 'Reply to @{actorUsername}',
|
'reply_to' => '@{actorUsername} に返信する',
|
||||||
'form' => [
|
'form' => [
|
||||||
'message_placeholder' => 'Write a message…',
|
'message_placeholder' => 'ここにコメントを入力..',
|
||||||
'episode_message_placeholder' => 'Write a message for the episode…',
|
'episode_message_placeholder' => 'エピソードへのコメントを入力...',
|
||||||
'episode_url_placeholder' => 'Episode URL',
|
'episode_url_placeholder' => 'エピソードのURL',
|
||||||
'reply_to_placeholder' => 'Reply to @{actorUsername}',
|
'reply_to_placeholder' => '@{actorUsername} に返信する',
|
||||||
'submit' => '送信',
|
'submit' => '送信',
|
||||||
'submit_reply' => '返信する',
|
'submit_reply' => '返信する',
|
||||||
],
|
],
|
||||||
@ -33,8 +33,8 @@ return [
|
|||||||
one {# reply}
|
one {# reply}
|
||||||
other {# replies}
|
other {# replies}
|
||||||
}',
|
}',
|
||||||
'expand' => 'Expand post',
|
'expand' => '投稿を開く',
|
||||||
'block_actor' => 'Block user @{actorUsername}',
|
'block_actor' => '@{actorUsername} をブロック',
|
||||||
'block_domain' => 'Block domain @{actorDomain}',
|
'block_domain' => '@{actorDomain} の投稿をブロックする',
|
||||||
'delete' => '投稿を削除',
|
'delete' => '投稿を削除',
|
||||||
];
|
];
|
||||||
|
@ -24,7 +24,7 @@ return [
|
|||||||
'comments' => 'Reacties',
|
'comments' => 'Reacties',
|
||||||
'activity' => 'Activiteiten',
|
'activity' => 'Activiteiten',
|
||||||
'chapters' => 'Hoofdstukken',
|
'chapters' => 'Hoofdstukken',
|
||||||
'transcript' => 'Transcript',
|
'transcript' => 'Transcriptie',
|
||||||
'description' => 'Omschrijving aflevering',
|
'description' => 'Omschrijving aflevering',
|
||||||
'number_of_comments' => '{numberOfComments, plural,
|
'number_of_comments' => '{numberOfComments, plural,
|
||||||
one {# reactie}
|
one {# reactie}
|
||||||
@ -45,6 +45,6 @@ return [
|
|||||||
'publish_edit' => 'Publicatie bewerken',
|
'publish_edit' => 'Publicatie bewerken',
|
||||||
],
|
],
|
||||||
'no_chapters' => 'Voor deze aflevering zijn geen hoofdstukken beschikbaar.',
|
'no_chapters' => 'Voor deze aflevering zijn geen hoofdstukken beschikbaar.',
|
||||||
'download_transcript' => 'Download transcript ({extension})',
|
'download_transcript' => 'Transcriptie downloaden ({extension})',
|
||||||
'no_transcript' => 'No transcript available for this episode.',
|
'no_transcript' => 'Geen transcript beschikbaar voor deze aflevering.',
|
||||||
];
|
];
|
||||||
|
@ -24,7 +24,7 @@ return [
|
|||||||
'comments' => 'Kommentarar',
|
'comments' => 'Kommentarar',
|
||||||
'activity' => 'Aktivitet',
|
'activity' => 'Aktivitet',
|
||||||
'chapters' => 'Kapittel',
|
'chapters' => 'Kapittel',
|
||||||
'transcript' => 'Transcript',
|
'transcript' => 'Avskrift',
|
||||||
'description' => 'Skildring av episoden',
|
'description' => 'Skildring av episoden',
|
||||||
'number_of_comments' => '{numberOfComments, plural,
|
'number_of_comments' => '{numberOfComments, plural,
|
||||||
one {# kommentar}
|
one {# kommentar}
|
||||||
@ -45,6 +45,6 @@ return [
|
|||||||
'publish_edit' => 'Rediger publiseringa',
|
'publish_edit' => 'Rediger publiseringa',
|
||||||
],
|
],
|
||||||
'no_chapters' => 'Det finst ingen kapittel for denne episoden.',
|
'no_chapters' => 'Det finst ingen kapittel for denne episoden.',
|
||||||
'download_transcript' => 'Download transcript ({extension})',
|
'download_transcript' => 'Last ned underteksten ({extension})',
|
||||||
'no_transcript' => 'No transcript available for this episode.',
|
'no_transcript' => 'Det finst inga teksting for denne episoden.',
|
||||||
];
|
];
|
||||||
|
@ -31,5 +31,5 @@ return [
|
|||||||
'view_replies' => 'Zobacz odpowiedzi ({numberOfReplies})',
|
'view_replies' => 'Zobacz odpowiedzi ({numberOfReplies})',
|
||||||
'block_actor' => 'Zablokuj użytkownika @{actorUsername}',
|
'block_actor' => 'Zablokuj użytkownika @{actorUsername}',
|
||||||
'block_domain' => 'Zablokuj domenę @{actorDomain}',
|
'block_domain' => 'Zablokuj domenę @{actorDomain}',
|
||||||
'delete' => 'usuń komentarz',
|
'delete' => 'Usuń komentarz',
|
||||||
];
|
];
|
||||||
|
@ -14,15 +14,15 @@ return [
|
|||||||
'cancel' => 'Anuluj',
|
'cancel' => 'Anuluj',
|
||||||
'optional' => 'Opcjonalnie',
|
'optional' => 'Opcjonalnie',
|
||||||
'close' => 'Zamknij',
|
'close' => 'Zamknij',
|
||||||
'home' => 'Początek',
|
'home' => 'Strona główna',
|
||||||
'explicit' => 'Zawiera treści dla dorosłych',
|
'explicit' => 'Wulgarne',
|
||||||
'powered_by' => 'Wspierane przez {castopod}',
|
'powered_by' => 'Wspierane przez {castopod}',
|
||||||
'go_back' => 'Wróć',
|
'go_back' => 'Wróć',
|
||||||
'play_episode_button' => [
|
'play_episode_button' => [
|
||||||
'play' => 'Odtwórz',
|
'play' => 'Odtwórz',
|
||||||
'playing' => 'Odtwarzanie',
|
'playing' => 'Odtwarzanie',
|
||||||
],
|
],
|
||||||
'read_more' => 'czytaj więcej',
|
'read_more' => 'Czytaj więcej',
|
||||||
'read_less' => 'Czytaj mniej',
|
'read_less' => 'Czytaj mniej',
|
||||||
'see_more' => 'Zobacz więcej',
|
'see_more' => 'Zobacz więcej',
|
||||||
'see_less' => 'Zobacz mniej',
|
'see_less' => 'Zobacz mniej',
|
||||||
|
@ -14,7 +14,7 @@ return [
|
|||||||
'number' => 'Odcinek {episodeNumber}',
|
'number' => 'Odcinek {episodeNumber}',
|
||||||
'number_abbr' => 'Odc. {episodeNumber}',
|
'number_abbr' => 'Odc. {episodeNumber}',
|
||||||
'season_episode' => 'Sezon {seasonNumber} odcinek {episodeNumber}',
|
'season_episode' => 'Sezon {seasonNumber} odcinek {episodeNumber}',
|
||||||
'season_episode_abbr' => 'S{seasonNumber}:O{episodeNumber}',
|
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
|
||||||
'persons' => '{personsCount, plural,
|
'persons' => '{personsCount, plural,
|
||||||
one {# osoba}
|
one {# osoba}
|
||||||
few {# osoby}
|
few {# osoby}
|
||||||
@ -24,8 +24,8 @@ return [
|
|||||||
'back_to_episodes' => 'Wróć do odcinków {podcast}',
|
'back_to_episodes' => 'Wróć do odcinków {podcast}',
|
||||||
'comments' => 'Komentarze',
|
'comments' => 'Komentarze',
|
||||||
'activity' => 'Aktywność',
|
'activity' => 'Aktywność',
|
||||||
'chapters' => 'Chapters',
|
'chapters' => 'Rozdziały',
|
||||||
'transcript' => 'Transcript',
|
'transcript' => 'Transkrypcja',
|
||||||
'description' => 'Opis odcinka',
|
'description' => 'Opis odcinka',
|
||||||
'number_of_comments' => '{numberOfComments, plural,
|
'number_of_comments' => '{numberOfComments, plural,
|
||||||
one {# komentarz}
|
one {# komentarz}
|
||||||
@ -33,7 +33,7 @@ return [
|
|||||||
other {# komentarzy}
|
other {# komentarzy}
|
||||||
}',
|
}',
|
||||||
'all_podcast_episodes' => 'Wszystkie odcinki podcastu',
|
'all_podcast_episodes' => 'Wszystkie odcinki podcastu',
|
||||||
'back_to_podcast' => 'Wróć do podkastu',
|
'back_to_podcast' => 'Wróć do podcastu',
|
||||||
'preview' => [
|
'preview' => [
|
||||||
'title' => 'Podgląd',
|
'title' => 'Podgląd',
|
||||||
'not_published' => 'Nieopublikowany',
|
'not_published' => 'Nieopublikowany',
|
||||||
@ -46,7 +46,7 @@ return [
|
|||||||
'publish' => 'Opublikuj',
|
'publish' => 'Opublikuj',
|
||||||
'publish_edit' => 'Edytuj publikację',
|
'publish_edit' => 'Edytuj publikację',
|
||||||
],
|
],
|
||||||
'no_chapters' => 'No chapters are available for this episode.',
|
'no_chapters' => 'Brak dostępnych rozdziałów dla tego odcinka.',
|
||||||
'download_transcript' => 'Download transcript ({extension})',
|
'download_transcript' => 'Pobierz transkrypcję ({extension})',
|
||||||
'no_transcript' => 'No transcript available for this episode.',
|
'no_transcript' => 'Brak transkrypcji dla tego odcinka.',
|
||||||
];
|
];
|
||||||
|
@ -10,28 +10,28 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'your_handle' => 'Twój uchwyt',
|
'your_handle' => 'Twój uchwyt',
|
||||||
'your_handle_hint' => 'Wpisz @nazwęużytkownika@domenę, z których chcesz działać.',
|
'your_handle_hint' => 'Wpisz @nazważytkownika@domena, z której chcesz działać.',
|
||||||
'follow' => [
|
'follow' => [
|
||||||
'label' => 'Obserwuj',
|
'label' => 'Obserwuj',
|
||||||
'title' => 'Obserwuj {actorDisplayName}',
|
'title' => 'Obserwuj {actorDisplayName}',
|
||||||
'subtitle' => 'Zamierzasz obserwować:',
|
'subtitle' => 'Zamierzasz obserwować:',
|
||||||
'accountNotFound' => 'Nie można znaleźć konta.',
|
'accountNotFound' => 'Nie można znaleźć konta.',
|
||||||
'remoteFollowNotAllowed' => 'Wygląda na to, że serwer kont nie pozwala na śledzenie zdalnie…',
|
'remoteFollowNotAllowed' => 'Wygląda na to, że serwer kont nie pozwala na zdalne śledzenie…',
|
||||||
'submit' => 'Przejdź do obserwowania',
|
'submit' => 'Przejdź do obserwowania',
|
||||||
],
|
],
|
||||||
'favourite' => [
|
'favourite' => [
|
||||||
'title' => "Dodaj do ulubionych wpis {actorDisplayName}",
|
'title' => "Dodaj do ulubionych wpis {actorDisplayName}",
|
||||||
'subtitle' => 'Zamierzasz dodać do ulubionych:',
|
'subtitle' => 'Zamierzasz dodać do ulubionych:',
|
||||||
'submit' => 'Przejdź do dodania do ulubionych',
|
'submit' => 'Dodaj do ulubionych',
|
||||||
],
|
],
|
||||||
'reblog' => [
|
'reblog' => [
|
||||||
'title' => "Udostępnij wpis {actorDisplayName}",
|
'title' => "Udostępnij wpis {actorDisplayName}",
|
||||||
'subtitle' => 'Zamierzasz udostępnić:',
|
'subtitle' => 'Zamierzasz udostępnić:',
|
||||||
'submit' => 'Przejdź do udostępnienia',
|
'submit' => 'Udostępnij',
|
||||||
],
|
],
|
||||||
'reply' => [
|
'reply' => [
|
||||||
'title' => "Odpowiedź do wpisu {actorDisplayName}",
|
'title' => "Odpowiedz do wpisu {actorDisplayName}",
|
||||||
'subtitle' => 'Zamierzasz odpisać na:',
|
'subtitle' => 'Zamierzasz odpisać na:',
|
||||||
'submit' => 'Przejdź do odpowiedzi',
|
'submit' => 'Odpowiedz',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -9,9 +9,9 @@ declare(strict_types=1);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'back_to_home' => 'Wróć do początku',
|
'back_to_home' => 'Wróć do strony głównej',
|
||||||
'map' => [
|
'map' => [
|
||||||
'title' => 'Mapa',
|
'title' => 'Mapa',
|
||||||
'description' => 'Odkryj odcinki podcastów w witrynie {siteName} umieszczone na mapie! Podróżuj po mapie i słuchaj odcinków, które opowiadają o konkretnych lokalizacjach.',
|
'description' => 'Odkryj odcinki podcastów w witrynie {siteName}, które są umieszczone na mapie! Podróżuj po mapie i słuchaj odcinków, które opowiadają o konkretnych lokalizacjach.',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -16,7 +16,7 @@ return [
|
|||||||
'Sezon {seasonNumber} odcinki ({episodeCount})',
|
'Sezon {seasonNumber} odcinki ({episodeCount})',
|
||||||
'no_episode' => 'Nie znaleziono odcinków!',
|
'no_episode' => 'Nie znaleziono odcinków!',
|
||||||
'follow' => 'Obserwuj',
|
'follow' => 'Obserwuj',
|
||||||
'followTitle' => 'Obserwuj {actorDisplayName} na fediverse!',
|
'followTitle' => 'Obserwuj {actorDisplayName} na fediwersum!',
|
||||||
'followers' => '{numberOfFollowers, plural,
|
'followers' => '{numberOfFollowers, plural,
|
||||||
one {# polubienie}
|
one {# polubienie}
|
||||||
few {# polubienia}
|
few {# polubienia}
|
||||||
@ -27,7 +27,7 @@ return [
|
|||||||
few {# osoby}
|
few {# osoby}
|
||||||
other {# osób}
|
other {# osób}
|
||||||
}',
|
}',
|
||||||
'links' => 'Links',
|
'links' => 'Linki',
|
||||||
'activity' => 'Wpisy',
|
'activity' => 'Wpisy',
|
||||||
'episodes' => 'Odcinki',
|
'episodes' => 'Odcinki',
|
||||||
'episodes_title' => 'Odcinki {podcastTitle}',
|
'episodes_title' => 'Odcinki {podcastTitle}',
|
||||||
@ -56,5 +56,5 @@ return [
|
|||||||
other {# osób}
|
other {# osób}
|
||||||
}',
|
}',
|
||||||
'persons_list' => 'Osoby',
|
'persons_list' => 'Osoby',
|
||||||
'castopod_website' => 'Castopod (website)',
|
'castopod_website' => 'Castopod (strona)',
|
||||||
];
|
];
|
||||||
|
@ -9,11 +9,11 @@ níveis:
|
|||||||
1. [toda instância](#1-instance-wide-roles-and-permissions)
|
1. [toda instância](#1-instance-wide-roles-and-permissions)
|
||||||
2. [por podcast](#2-per-podcast-roles-and-permissions)
|
2. [por podcast](#2-per-podcast-roles-and-permissions)
|
||||||
|
|
||||||
## Papéis e permissões para toda a instância
|
## 2. Por funções de podcast e permissões
|
||||||
|
|
||||||
### Cargos de instância
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +21,11 @@ níveis:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permissões da instância
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -39,13 +39,13 @@ níveis:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Por funções de podcast e permissões
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Por cargos de podcast
|
### Por cargos de podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ níveis:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Por permissões de podcast
|
### Por permissões de podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ níveis:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -24,7 +15,7 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1, alebo vyššia
|
### PHP v8.1 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.1 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Zabezpečenie
|
title: Security concerns
|
||||||
---
|
---
|
||||||
|
|
||||||
Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP
|
Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,73 +12,73 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| --------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
| Dreistmerour·ez | Ur c'hontroll klok en deus war Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
|
| Super admin | Has complete control over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
|
||||||
| Merour·ez | Merañ a ra endalc'had Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podkaster | Implijerien·ezed kustum Castopod. | admin.access |
|
| Podkaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------------------------------------- |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
| admin.access | Gallout a ra gwelet taolenn-stur Castopod. |
|
| admin.access | Can access the Castopod admin area. |
|
||||||
| admin.settings | Gallout a ra gwelet arventennoù Castopod. |
|
| admin.settings | Can access the Castopod settings. |
|
||||||
| users.manage | Gallout a ra ober war-dro implijerien·ezed Castopod. |
|
| users.manage | Can manage Castopod users. |
|
||||||
| persons.manage | Gallout a ra merañ an emellerien·ezed. |
|
| persons.manage | Can manage persons. |
|
||||||
| pages.manage | Gallout a ra merañ ar pajennoù. |
|
| pages.manage | Can manage pages. |
|
||||||
| podcasts.view | Gallout a ra gwelet an holl bodkastoù. |
|
| podcasts.view | Can view all podcasts. |
|
||||||
| podcasts.create | Gallout a ra krouiñ podkastoù nevez. |
|
| podcasts.create | Can create new podcasts. |
|
||||||
| podcasts.import | Gallout a ra enporzhiañ podkastoù. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Gallout a ra mirout aktourien·ezed pe domanioù ar Fediverse ouzh kaout darempredoù gant Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ---------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Merour·ez | Ur c'hontroll klok en deus war ar podkast #\{id\}. | \* |
|
| Admin | Has complete control of podcast #\{id\}. | \* |
|
||||||
| Embanner | Merañ a ra endalc'had hag embannadurioù ar podkast #\{id\}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments |
|
| Editor | Manages content and publications of podcast #\{id\}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments |
|
||||||
| Aozer·ez | Merañ a ra endalc'had ar podkast #\{id\} met ne c'hall ket embann anezho. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Kouviad·ez | Perzhiad·ez eus ar podkast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
| view | Gallout a ra gwelet taolenn-stur ha muzulioù heklev ar podkast #\{id\}. |
|
| view | Can view dashboard and analytics of podcast #\{id\}. |
|
||||||
| edit | Gallout a ra kemmañ ar podkast #\{id\}. |
|
| edit | Can edit podcast #\{id\}. |
|
||||||
| delete | Gallout a ra lemel ar podkast #\{id\}. |
|
| delete | Can delete podcast #\{id\}. |
|
||||||
| manage-import | Gallout a ra sinkronekaat ar podkast enporzhiet #\{id\}. |
|
| manage-import | Can synchronize imported podcast #\{id\}. |
|
||||||
| manage-persons | Gallout a ra merañ koumanantoù ar podkast #\{id\}. |
|
| manage-persons | Can manage subscriptions of podcast #\{id\}. |
|
||||||
| manage-subscriptions | Gallout a ra merañ koumanantoù ar podkast #\{id\}. |
|
| manage-subscriptions | Can manage subscriptions of podcast #\{id\}. |
|
||||||
| manage-contributors | Gallout a ra merañ perzhidi ha perzhiadezed ar podkast #\{id\}. |
|
| manage-contributors | Can manage contributors of podcast #\{id\}. |
|
||||||
| manage-platforms | Gallout a ra ouzhpennañ pe lemel liammoù etrezek savennoù diavaez evit ar podkast #\{id\}. |
|
| manage-platforms | Can set/remove platform links of podcast #\{id\}. |
|
||||||
| manage-publications | Gallout a ra embann ar podkast #\{id\}. |
|
| manage-publications | Can publish podcast #\{id\}. |
|
||||||
| manage-notifications | Gallout a ra gwelet kemennoù ar podkast #\{id\} ha lakaat anezho evel lennet. |
|
| manage-notifications | Can view and mark notifications as read for podcast #\{id\}. |
|
||||||
| interact-as | Gallout a ra ober traoù gant identelezh ar podkast #\{id\}: ouzhpennañ ur gemennadenn d'ar re garetañ, rannañ anezhi pe respont dezhi. |
|
| interact-as | Can interact as the podcast #\{id\} to favourite, share or reply to posts. |
|
||||||
| episodes.view | Gallout a ra gwelet taolennoù-stur ha muzulioù heklev rannoù ar podkast #\{id\}. |
|
| episodes.view | Can view dashboards and analytics of podcast #\{id\}'s episodes. |
|
||||||
| episodes.create | Gallout a ra krouiñ rannoù evit podkast #\{id\}. |
|
| episodes.create | Can create episodes for podcast #\{id\}. |
|
||||||
| episodes.edit | Gallout a ra kemmañ rannoù ar podkast #\{id\}. |
|
| episodes.edit | Can edit episodes of podcast #\{id\}. |
|
||||||
| episodes.delete | Gallout a ra lemel rannoù ar podkast #\{id\}. |
|
| episodes.delete | Can delete episodes of podcast #\{id\}. |
|
||||||
| episodes.manage-persons | Gallout a ra merañ emellerien·ezed ar podkast #\{id\}. |
|
| episodes.manage-persons | Can manage episode persons of podcast #\{id\}. |
|
||||||
| episodes.manage-clips | Gallout a ra merañ klipoù video pe tennadoù son ar podkast #\{id\}. |
|
| episodes.manage-clips | Can manage video clips or soundbites of podcast #\{id\}. |
|
||||||
| episodes.manage-publications | Gallout a ra embann pe diembann rannoù ha kemennadennoù ar podkast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Gallout a ra krouiñ/lemel evezhiadennoù evit rannoù ar podkast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -111,12 +112,12 @@ can be added as a cache handler.
|
|||||||
- **castopod/castopod** and **castopod/app**
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
| De naam van de variabele | Type (`default`) | Standaard |
|
| De naam van de variabele | Type (`default`) | Standaard |
|
||||||
| ------------------------------------- | ----------------------- | ------------------ |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | tekenreeks | `niet gedefineerd` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
|
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
|
||||||
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
|
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
|
||||||
| **`CP_ANALYTICS_SALT`** | string | `niet gedefineerd` |
|
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
|
||||||
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
|
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
|
||||||
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
|
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
|
||||||
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
|
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
|
||||||
@ -127,23 +128,23 @@ can be added as a cache handler.
|
|||||||
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
|
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
|
||||||
| **`CP_REDIS_PORT`** | ?number | `6379` |
|
| **`CP_REDIS_PORT`** | ?number | `6379` |
|
||||||
| **`CP_REDIS_DATABASE`** | ?number | `0` |
|
| **`CP_REDIS_DATABASE`** | ?number | `0` |
|
||||||
| **`CP_EMAIL_SMTP_HOST`** | ?string | `niet gedefineerd` |
|
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
|
||||||
| **`CP_EMAIL_FROM`** | ?string | `niet gedefineerd` |
|
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
|
||||||
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
|
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
|
||||||
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
|
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
|
||||||
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
|
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
|
||||||
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
||||||
| **`CP_ENABLE_2FA`** | ?boolean | `niet gedefineerd` |
|
| **`CP_ENABLE_2FA`** | ?boolean | `undefined` |
|
||||||
| **`CP_MEDIA_FILE_MANAGER`** | ?string | `niet gedefineerd` |
|
| **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `niet gedefineerd` |
|
| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_KEY`** | ?string | `niet gedefineerd` |
|
| **`CP_MEDIA_S3_KEY`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` |
|
| **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_REGION`** | ?string | `undefined` |
|
| **`CP_MEDIA_S3_REGION`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` |
|
| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `niet gedefineerd` |
|
| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` |
|
||||||
| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `niet gedefineerd` |
|
| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` |
|
||||||
| **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `niet gedefineerd` |
|
| **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `undefined` |
|
||||||
| **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `niet gedefineerd` |
|
| **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `undefined` |
|
||||||
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
||||||
| **`CP_PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` |
|
| **`CP_PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` |
|
||||||
| **`CP_TIMEOUT`** | ?number | `900` |
|
| **`CP_TIMEOUT`** | ?number | `900` |
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Penaos staliañ Castopod?
|
title: How to install Castopod?
|
||||||
---
|
---
|
||||||
|
|
||||||
import { Aside } from "@astrojs/starlight/components";
|
import { Aside } from "@astrojs/starlight/components";
|
||||||
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -49,7 +40,7 @@ You will need the server hostname, database name, username and password to
|
|||||||
complete the installation process. If you do not have these, please contact your
|
complete the installation process. If you do not have these, please contact your
|
||||||
server administrator.
|
server administrator.
|
||||||
|
|
||||||
#### Brientoù
|
#### Privileges
|
||||||
|
|
||||||
User must have at least these privileges on the database for Castopod to work:
|
User must have at least these privileges on the database for Castopod to work:
|
||||||
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`,
|
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`,
|
||||||
@ -104,7 +95,7 @@ want to generate Video Clips. The following extensions must be installed:
|
|||||||
1. Run the Castopod install script by going to the install wizard page
|
1. Run the Castopod install script by going to the install wizard page
|
||||||
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
||||||
2. Follow the instructions on your screen.
|
2. Follow the instructions on your screen.
|
||||||
3. Kregiñ da bodkastiñ!
|
3. Start podcasting!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -131,7 +123,7 @@ based on the `.env.example` file.
|
|||||||
|
|
||||||
4. Head on to your admin gateway to start podcasting!
|
4. Head on to your admin gateway to start podcasting!
|
||||||
|
|
||||||
### Arventenniñ ar posteloù/SMTP
|
### Email/SMTP setup
|
||||||
|
|
||||||
Email configuration is required for some features to work properly (eg.
|
Email configuration is required for some features to work properly (eg.
|
||||||
retrieving your forgotten password, sending instructions to premium subscribers,
|
retrieving your forgotten password, sending instructions to premium subscribers,
|
||||||
@ -150,7 +142,7 @@ email.SMTPPass="your_smtp_password"
|
|||||||
|
|
||||||
#### Email config options
|
#### Email config options
|
||||||
|
|
||||||
| Anv ar varienne | Doare | Dre ziouer |
|
| Variable name | Type | Default |
|
||||||
| ---------------- | -------------------- | ------------ |
|
| ---------------- | -------------------- | ------------ |
|
||||||
| **`fromEmail`** | string | `undefined` |
|
| **`fromEmail`** | string | `undefined` |
|
||||||
| **`fromName`** | string | `"Castopod"` |
|
| **`fromName`** | string | `"Castopod"` |
|
||||||
@ -191,9 +183,9 @@ media.s3.secret="your_s3_secret"
|
|||||||
media.s3.region="your_s3_region"
|
media.s3.region="your_s3_region"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Arventennoù S3
|
#### S3 config options
|
||||||
|
|
||||||
| Anv ar varienn | Doare | Dre ziouer |
|
| Variable name | Type | Default |
|
||||||
| ----------------------- | ------- | ----------- |
|
| ----------------------- | ------- | ----------- |
|
||||||
| **`endpoint`** | string | `undefined` |
|
| **`endpoint`** | string | `undefined` |
|
||||||
| **`key`** | string | `undefined` |
|
| **`key`** | string | `undefined` |
|
||||||
@ -209,7 +201,7 @@ media.s3.region="your_s3_region"
|
|||||||
If you don't want to bother with installing Castopod manually, you may use one
|
If you don't want to bother with installing Castopod manually, you may use one
|
||||||
of the packages created and maintained by the open-source community.
|
of the packages created and maintained by the open-source community.
|
||||||
|
|
||||||
### Staliañ dre YunoHost
|
### Install with YunoHost
|
||||||
|
|
||||||
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
|
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
|
||||||
made up of free and open-source software packages. It manages the hardships of
|
made up of free and open-source software packages. It manages the hardships of
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
---
|
---
|
||||||
title: Bezbednosni interesi
|
title: Security concerns
|
||||||
---
|
---
|
||||||
|
|
||||||
Castopod je napravljen na [CodeIgniter4](https://codeigniter.com/), PHP okviru
|
Castopod je napravljen na [CodeIgniter4](https://codeigniter.com/), PHP okviru
|
||||||
koji podstiče
|
koji podstiče
|
||||||
[dobre bezbednosne prakse](https://codeigniter.com/user_guide/concepts/security.html).
|
[dobre bezbednosne prakse](https://codeigniter.com/user_guide/concepts/security.html).
|
||||||
|
|
||||||
Da biste maksimalno povećali bezbednost vaše instance i sprečili bilo kakav
|
To maximize your instance's safety and prevent any malicious attack, we
|
||||||
zlonamerni napad, mi preporučujemo da ažurirate sve dozvole Castopod datoteka
|
recommend you update all your Castopod files permissions after installation or
|
||||||
nakon instalacije ili ažuriranja (da biste izbegli bilo kakvu grešku prethodne
|
updates (to avoid any prior permission error):
|
||||||
dozvole):
|
|
||||||
|
|
||||||
- `writable/` direktorijum mora biti **readable** i **writable**.
|
- `writable/` direktorijum mora biti **readable** i **writable**.
|
||||||
- `public/media/` direktorijum mora biti **readable** i **writable**.
|
- `public/media/` direktorijum mora biti **readable** i **writable**.
|
||||||
- bilo koja druga datoteka mora biti podešena na **readonly**.
|
- any other file must be set to **readonly**.
|
||||||
|
|
||||||
Na primer, ukoliko koristite Apache ili NGINX sa Ubuntu-om možete uraditi
|
Na primer, ukoliko koristite Apache ili NGINX sa Ubuntu-om možete uraditi
|
||||||
sledeće:
|
sledeće:
|
||||||
|
@ -30,7 +30,7 @@ improvements ⚡.
|
|||||||
- Note that you can also download the latest package from
|
- Note that you can also download the latest package from
|
||||||
[castopod.org](https://castopod.org/)
|
[castopod.org](https://castopod.org/)
|
||||||
|
|
||||||
3. War ho servijer:
|
3. On your server:
|
||||||
|
|
||||||
- Remove all files except `.env` and `public/media`
|
- Remove all files except `.env` and `public/media`
|
||||||
- Copy the new files from the downloaded package into your server
|
- Copy the new files from the downloaded package into your server
|
||||||
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------ |
|
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Administrador | Administra el contingut de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Administrador | Administra el contingut de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | Usos generals de Castopod. | admin.access |
|
| Podcaster | Usos generals de Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | -------------------------------------------------------------------- |
|
| ----------------------- | -------------------------------------------------------------------- |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Pot importar pòdcasts. |
|
| podcasts.import | Pot importar pòdcasts. |
|
||||||
| fediverse.manage-blocks | Pot evitar que actors/dominis del fedivers interactuen amb Castopod. |
|
| fediverse.manage-blocks | Pot evitar que actors/dominis del fedivers interactuen amb Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Autor | Administra el contingut del podcast #\{id\} però no el pot publicar. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Autor | Administra el contingut del podcast #\{id\} però no el pot publicar. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Convidat | Col·laborador general del podcast #\{id\}. | view, episodes.view |
|
| Convidat | Col·laborador general del podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Pot publicar/anul·lar la publicació d'episodis i publicacions del pòdcast #\{id\}. |
|
| episodes.manage-publications | Pot publicar/anul·lar la publicació d'episodis i publicacions del pòdcast #\{id\}. |
|
||||||
| episodes.manage-comments | Pot crear/eliminar comentaris d'episodi del pòdcast #\{id\}. |
|
| episodes.manage-comments | Pot crear/eliminar comentaris d'episodi del pòdcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -12,8 +12,8 @@ process:
|
|||||||
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
|
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
|
||||||
configuració de Nginx per a Castopod
|
configuració de Nginx per a Castopod
|
||||||
|
|
||||||
A més, Castopod requereix una base de dades compatible amb MySQL. Es pot afegir
|
Additionally, Castopod requires a MySQL-compatible database. A Redis database
|
||||||
una base de dades Redis com a gestor de memòria cau.
|
can be added as a cache handler.
|
||||||
|
|
||||||
## Etiquetes compatibles
|
## Etiquetes compatibles
|
||||||
|
|
||||||
@ -26,6 +26,7 @@ una base de dades Redis com a gestor de memòria cau.
|
|||||||
|
|
||||||
1. Instal·leu [docker](https://docs.docker.com/get-docker/) i
|
1. Instal·leu [docker](https://docs.docker.com/get-docker/) i
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Creeu un fitxer `docker-compose.yml` amb el següent:
|
2. Creeu un fitxer `docker-compose.yml` amb el següent:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -92,9 +93,8 @@ una base de dades Redis com a gestor de memòria cau.
|
|||||||
|
|
||||||
3. Configureu un `reverse proxy` per a TLS (SSL/HTTPS)
|
3. Configureu un `reverse proxy` per a TLS (SSL/HTTPS)
|
||||||
|
|
||||||
TLS és obligatori perquè ActivityPub funcioni. Aquest feina es pot gestionar
|
TLS is mandatory for ActivityPub to work. This job can easily be handled by
|
||||||
fàcilment amb un `reverse proxy`, per exemple amb
|
a reverse proxy, for example with [Caddy](https://caddyserver.com/):
|
||||||
[Caddy](https://caddyserver.com/):
|
|
||||||
|
|
||||||
```
|
```
|
||||||
#castopod
|
#castopod
|
||||||
@ -106,7 +106,7 @@ una base de dades Redis com a gestor de memòria cau.
|
|||||||
4. Executeu `docker-compose up -d`, espereu que s'inicialitzi i aneu a
|
4. Executeu `docker-compose up -d`, espereu que s'inicialitzi i aneu a
|
||||||
`https://castopod.exemple.com/cp-install` per acabar de configurar Castopod!
|
`https://castopod.exemple.com/cp-install` per acabar de configurar Castopod!
|
||||||
|
|
||||||
5. Ja esteu a punt, podeu començar a fer podcasts! 🎙️🚀
|
5. You're all set, start podcasting! 🎙️🚀
|
||||||
|
|
||||||
## Variables d'entorn
|
## Variables d'entorn
|
||||||
|
|
||||||
|
@ -4,24 +4,14 @@ title: Com instal·lar Castopod?
|
|||||||
|
|
||||||
import { Aside } from "@astrojs/starlight/components";
|
import { Aside } from "@astrojs/starlight/components";
|
||||||
|
|
||||||
Castopod va ser pensat per ser fàcil d'instal·lar. Ja sigui utilitzant un
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
allotjament dedicat o un compartit, podeu instal·lar-lo a la majoria de
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
servidors web compatibles amb PHP-MySQL.
|
|
||||||
|
|
||||||
<Aside>
|
## Requirements
|
||||||
|
|
||||||
Hem publicat imatges oficials de Docker per a Castopod!
|
|
||||||
|
|
||||||
Si preferiu utilitzar Docker, podeu ometre això i anar directament a la
|
|
||||||
[documentació de Docker](./docker.md) per a Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requisits
|
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
- MySQL versió 5.7 o superior o MariaDB versió 10.2 o superior
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- Support d'HTTPS
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
@ -32,58 +22,57 @@ PHP version 8.1 or higher is required, with the following extensions installed:
|
|||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
- [mbstring](https://php.net/manual/en/mbstring.installation.php)
|
- [mbstring](https://php.net/manual/en/mbstring.installation.php)
|
||||||
- [gd](https://www.php.net/manual/en/image.installation.php) amb les llibreries
|
- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**,
|
||||||
**JPEG**, **PNG** i **WEBP**.
|
**PNG** and **WEBP** libraries.
|
||||||
- [exif](https://www.php.net/manual/en/exif.installation.php)
|
- [exif](https://www.php.net/manual/en/exif.installation.php)
|
||||||
|
|
||||||
A més, assegureu-vos que les extensions següents estiguin habilitades al vostre
|
Additionally, make sure that the following extensions are enabled in your PHP:
|
||||||
PHP:
|
|
||||||
|
|
||||||
- json (activat per defecte; no el desactiveu)
|
- json (enabled by default - don't turn it off)
|
||||||
- xml (activat per defecte; no el desactiveu)
|
- xml (enabled by default - don't turn it off)
|
||||||
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
|
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
|
||||||
|
|
||||||
### Base de dades compatible amb MySQL
|
### MySQL compatible database
|
||||||
|
|
||||||
> Us recomanem que utilitzeu [MariaDB](https://mariadb.org).
|
> We recommend using [MariaDB](https://mariadb.org).
|
||||||
|
|
||||||
Necessitareu el nom d'amfitrió del servidor (hostname), el nom de la base de
|
You will need the server hostname, database name, username and password to
|
||||||
dades, el nom d'usuari i la contrasenya per completar el procés d'instal·lació.
|
complete the installation process. If you do not have these, please contact your
|
||||||
Si no els teniu, poseu-vos en contacte amb l'administrador del vostre servidor.
|
server administrator.
|
||||||
|
|
||||||
#### Privilegis
|
#### Privileges
|
||||||
|
|
||||||
User must have at least these privileges on the database for Castopod to work:
|
User must have at least these privileges on the database for Castopod to work:
|
||||||
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`,
|
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`,
|
||||||
`REFERENCES`, `CREATE VIEW`.
|
`REFERENCES`, `CREATE VIEW`.
|
||||||
|
|
||||||
### (Opcional) FFmpeg v4.1.8 o superior per fer videoclips
|
### (Optional) FFmpeg v4.1.8 or higher for Video Clips
|
||||||
|
|
||||||
Si voleu generar videoclips, cal [FFmpeg](https://www.ffmpeg.org/) versió 4.1.8
|
[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 or higher is required if you
|
||||||
o superior. Cal instal·lar les següents extensions:
|
want to generate Video Clips. The following extensions must be installed:
|
||||||
|
|
||||||
- La llibreria **FreeType 2** per
|
- **FreeType 2** library for
|
||||||
[gd](https://www.php.net/manual/en/image.installation.php).
|
[gd](https://www.php.net/manual/en/image.installation.php).
|
||||||
|
|
||||||
### (Opcional) Altres recomanacions
|
### (Optional) Other recommendations
|
||||||
|
|
||||||
- Redis per a un millor rendiment de la memòria cau.
|
- Redis for better cache performances.
|
||||||
- CDN per a la memòria cau de fitxers estàtics i millors rendiments.
|
- CDN for static files caching and better performances.
|
||||||
- Passarel·la de correu electrònic per a contrasenyes perdudes.
|
- e-mail gateway for lost passwords.
|
||||||
|
|
||||||
## Instruccions d'instal·lació
|
## Install instructions
|
||||||
|
|
||||||
### Pre-requisits
|
### Pre-requisites
|
||||||
|
|
||||||
0. Obteniu un servidor web amb els [requisits](#requirements) instal·lats
|
0. Get a Web Server with [requirements](#requirements) installed
|
||||||
1. Creeu una base de dades MySQL per a Castopod amb un usuari amb privilegis
|
1. Create a MySQL database for Castopod with a user having access and
|
||||||
d'accés i modificació (per a més informació, vegeu
|
modification privileges (for more info, see
|
||||||
[base de dades compatible MySQL](#mysql-compatible-database)).
|
[MySQL compatible database](#mysql-compatible-database)).
|
||||||
2. Activeu HTTPS al vostre domini amb un _certificat SSL_.
|
2. Activate HTTPS on your domain with an _SSL certificate_.
|
||||||
3. Baixeu i descomprimiu el darrer [paquet Castopod](https://castopod.org/) al
|
3. Download and unzip the latest [Castopod Package](https://castopod.org/) onto
|
||||||
servidor web si encara no ho heu fet.
|
the web server if you haven’t already.
|
||||||
- ⚠️ Establiu l'arrel del document del servidor web a la subcarpeta
|
- ⚠️ Set the web server document root to the `public/` sub-folder within the
|
||||||
`castopod/public/`.
|
`castopod` folder.
|
||||||
4. Add **cron tasks** on your web server for various background processes
|
4. Add **cron tasks** on your web server for various background processes
|
||||||
(replace the paths accordingly):
|
(replace the paths accordingly):
|
||||||
|
|
||||||
@ -101,25 +90,25 @@ o superior. Cal instal·lar les següents extensions:
|
|||||||
- Generating video clips -
|
- Generating video clips -
|
||||||
[requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
|
[requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
|
||||||
|
|
||||||
### (recomanat) Assistent d'instal·lació
|
### (recommended) Install Wizard
|
||||||
|
|
||||||
1. Executeu l'script d'instal·lació de Castopod anant a la pàgina web de
|
1. Run the Castopod install script by going to the install wizard page
|
||||||
l'assistent d'instal·lació (`https://exemple.com/cp-install`) al vostre
|
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
||||||
navegador web preferit.
|
2. Follow the instructions on your screen.
|
||||||
2. Seguiu les instruccions a la vostra pantalla.
|
3. Start podcasting!
|
||||||
3. Comenceu a fer podcasts!
|
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
L'script d'instal·lació escriu un fitxer `.env` a l'arrel del paquet. If you
|
The install script writes a `.env` file in the package root. If you cannot go
|
||||||
cannot go through the install wizard, you can create and edit the `.env` file
|
through the install wizard, you can create and edit the `.env` file manually
|
||||||
manually based on the `.env.example` file.
|
based on the `.env.example` file.
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -207,7 +196,7 @@ media.s3.region="your_s3_region"
|
|||||||
| **`pathStyleEndpoint`** | boolean | `false` |
|
| **`pathStyleEndpoint`** | boolean | `false` |
|
||||||
| **`keyPrefix`** | string | `undefined` |
|
| **`keyPrefix`** | string | `undefined` |
|
||||||
|
|
||||||
## Paquets de la comunitat
|
## Community packages
|
||||||
|
|
||||||
If you don't want to bother with installing Castopod manually, you may use one
|
If you don't want to bother with installing Castopod manually, you may use one
|
||||||
of the packages created and maintained by the open-source community.
|
of the packages created and maintained by the open-source community.
|
||||||
@ -227,7 +216,7 @@ self-hosting for you.
|
|||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src="https://install-app.yunohost.org/install-with-yunohost.svg"
|
src="https://install-app.yunohost.org/install-with-yunohost.svg"
|
||||||
alt="Instal·lar Castopod amb YunoHost"
|
alt="Install Castopod with YunoHost"
|
||||||
class="align-middle"
|
class="align-middle"
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
@ -248,7 +237,7 @@ self-hosting for you.
|
|||||||
<path fill="none" d="M0 0h24v24H0z" />
|
<path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z" />
|
<path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z" />
|
||||||
</svg>
|
</svg>
|
||||||
Repositori a Github
|
Github Repo
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -51,6 +51,7 @@ d'errors 🐛 i millores de rendiment ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
@ -65,7 +66,7 @@ Releases may come with additional update instructions (see
|
|||||||
|
|
||||||
## Fully Automated updates
|
## Fully Automated updates
|
||||||
|
|
||||||
> Aviat... 👀
|
> Coming soon... 👀
|
||||||
|
|
||||||
## Preguntes més freqüents (FAQ)
|
## Preguntes més freqüents (FAQ)
|
||||||
|
|
||||||
@ -77,7 +78,7 @@ corner.
|
|||||||
Alternatively, you can find the version in the `app > Config > Constants.php`
|
Alternatively, you can find the version in the `app > Config > Constants.php`
|
||||||
file.
|
file.
|
||||||
|
|
||||||
### Fa temps que no actualitzo la meva instància... Què hauria de fer?
|
### I haven't updated my instance in a long time… What should I do?
|
||||||
|
|
||||||
No problem! Just get the latest release as described above. Only, when going
|
No problem! Just get the latest release as described above. Only, when going
|
||||||
through the release instructions (4), perform them sequentially, from the oldest
|
through the release instructions (4), perform them sequentially, from the oldest
|
||||||
@ -99,7 +100,7 @@ For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to
|
|||||||
més antiga a la més recent) començant per `v1.0.0-alpha.43`,
|
més antiga a la més recent) començant per `v1.0.0-alpha.43`,
|
||||||
`v1.0.0-alpha.44`, `v1.0.0-alpha.45`, ..., `v1.0.0-beta.1`.
|
`v1.0.0-alpha.44`, `v1.0.0-alpha.45`, ..., `v1.0.0-beta.1`.
|
||||||
|
|
||||||
3. ✨ Gaudiu de la vostra nova instància, tot fet i preparat!
|
3. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
### Hauria de fer una còpia de seguretat abans d'actualitzar?
|
### Hauria de fer una còpia de seguretat abans d'actualitzar?
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Rolloù an istañs
|
### Rolloù an istañs
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Aotreoù war an istañs
|
### Aotreoù war an istañs
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -12,8 +12,8 @@ izrade:
|
|||||||
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server):
|
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server):
|
||||||
Nginx konfiguracija za Castopod
|
Nginx konfiguracija za Castopod
|
||||||
|
|
||||||
Pored toga, Castopod zahteva MySQL kompatibilnu bazu podataka. Redis baza
|
Additionally, Castopod requires a MySQL-compatible database. A Redis database
|
||||||
podataka može se dodati kao obrađivač keša.
|
can be added as a cache handler.
|
||||||
|
|
||||||
## Podržani tagovi
|
## Podržani tagovi
|
||||||
|
|
||||||
@ -26,6 +26,7 @@ podataka može se dodati kao obrađivač keša.
|
|||||||
|
|
||||||
1. Instalirajte [docker](https://docs.docker.com/get-docker/) i
|
1. Instalirajte [docker](https://docs.docker.com/get-docker/) i
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Napravite `docker-compose.yml` datoteku sa sledećim:
|
2. Napravite `docker-compose.yml` datoteku sa sledećim:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -89,8 +90,8 @@ podataka može se dodati kao obrađivač keša.
|
|||||||
|
|
||||||
3. Podesite obrnuti proksi za TLS (SSL/HTTPS)
|
3. Podesite obrnuti proksi za TLS (SSL/HTTPS)
|
||||||
|
|
||||||
TLS je obavezan da bu ActivityPub radio. Ovaj posao se lako može obaviti
|
TLS is mandatory for ActivityPub to work. This job can easily be handled by
|
||||||
obrnutim proksijem, na primer sa [Caddy-ijem](https://caddyserver.com/):
|
a reverse proxy, for example with [Caddy](https://caddyserver.com/):
|
||||||
|
|
||||||
```
|
```
|
||||||
#castopod
|
#castopod
|
||||||
@ -103,7 +104,7 @@ podataka može se dodati kao obrađivač keša.
|
|||||||
`https://castopod.example.com/cp-install` da biste završili instalaciju
|
`https://castopod.example.com/cp-install` da biste završili instalaciju
|
||||||
Castopod-a!
|
Castopod-a!
|
||||||
|
|
||||||
5. Sve je spremno, započnite sa podkastingom! 🎙️🚀
|
5. You're all set, start podcasting! 🎙️🚀
|
||||||
|
|
||||||
## Promenljive okruženja
|
## Promenljive okruženja
|
||||||
|
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ definiert:
|
|||||||
|
|
||||||
### Instanz Rollen
|
### Instanz Rollen
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +21,11 @@ definiert:
|
|||||||
| Manager | Verwaltet Castopods Inhalte. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Verwaltet Castopods Inhalte. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | Allgemeine Benutzer von Castopod. | admin.access |
|
| Podcaster | Allgemeine Benutzer von Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instanz Berechtigungen
|
### Instanz Berechtigungen
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ---------------------------------------------------------------------------- |
|
| ----------------------- | ---------------------------------------------------------------------------- |
|
||||||
@ -39,13 +39,13 @@ definiert:
|
|||||||
| podcasts.import | Kann Podcasts importieren. |
|
| podcasts.import | Kann Podcasts importieren. |
|
||||||
| fediverse.manage-blocks | Kann föderierte Nutzer/Domains davon abhalten, mit Castopod zu interagieren. |
|
| fediverse.manage-blocks | Kann föderierte Nutzer/Domains davon abhalten, mit Castopod zu interagieren. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Pro Podcast Rollen und Berechtigungen
|
## 2. Pro Podcast Rollen und Berechtigungen
|
||||||
|
|
||||||
### Pro Podcast Rollen
|
### Pro Podcast Rollen
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ definiert:
|
|||||||
| Autor | Verwaltet Inhalte von Podcast #\{id\}, kann diese aber nicht veröffentlichen. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Autor | Verwaltet Inhalte von Podcast #\{id\}, kann diese aber nicht veröffentlichen. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Gast | Allgemeiner Mitwirkender des Podcasts #\{id\}. | view, episodes.view |
|
| Gast | Allgemeiner Mitwirkender des Podcasts #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Pro Podcast Berechtigung
|
### Pro Podcast Berechtigung
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ definiert:
|
|||||||
| episodes.manage-publications | Kann Episoden und Posts von Podcast #\{id\} veröffentlichen/zurückziehen. |
|
| episodes.manage-publications | Kann Episoden und Posts von Podcast #\{id\} veröffentlichen/zurückziehen. |
|
||||||
| episodes.manage-comments | Kann Kommentare von Folgen des Podcasts #\{id\} erstellen und löschen. |
|
| episodes.manage-comments | Kann Kommentare von Folgen des Podcasts #\{id\} erstellen und löschen. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ kann als Cache-Handler hinzugefügt werden.
|
|||||||
|
|
||||||
1. Installiere [Docker](https://docs.docker.com/get-docker/) und
|
1. Installiere [Docker](https://docs.docker.com/get-docker/) und
|
||||||
[Docker-Compose](https://docs.docker.com/compose/install/)
|
[Docker-Compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Erstelle eine `docker-compose.yml` Datei mit folgendem Inhalt:
|
2. Erstelle eine `docker-compose.yml` Datei mit folgendem Inhalt:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -86,8 +87,7 @@ kann als Cache-Handler hinzugefügt werden.
|
|||||||
castopod-db:
|
castopod-db:
|
||||||
```
|
```
|
||||||
|
|
||||||
Es müssen einige Variablen an deine Bedürfnisse angepasst werden (z.B.
|
Es müssen einige Variablen an deine Bedürfnisse angepasst werden (z.B. `CP_BASEURL`, `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` und
|
||||||
`CP_BASEURL`, `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` und
|
|
||||||
`CP_ANALYTICS_SALT`).
|
`CP_ANALYTICS_SALT`).
|
||||||
|
|
||||||
3. Einen Reverse-Proxy für TLS (SSL/HTTPS) einrichten
|
3. Einen Reverse-Proxy für TLS (SSL/HTTPS) einrichten
|
||||||
@ -114,12 +114,12 @@ kann als Cache-Handler hinzugefügt werden.
|
|||||||
- **castopod/castopod** und **castopod/app**
|
- **castopod/castopod** und **castopod/app**
|
||||||
|
|
||||||
| Variablennamen | Typ (`Standard`) | Standardwert |
|
| Variablennamen | Typ (`Standard`) | Standardwert |
|
||||||
| ------------------------------------- | ----------------------- | ----------------- |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | string | `nicht definiert` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
|
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
|
||||||
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
|
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
|
||||||
| **`CP_ANALYTICS_SALT`** | string | `nicht definiert` |
|
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
|
||||||
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
|
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
|
||||||
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
|
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
|
||||||
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
|
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
|
||||||
@ -130,18 +130,18 @@ kann als Cache-Handler hinzugefügt werden.
|
|||||||
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
|
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
|
||||||
| **`CP_REDIS_PORT`** | ?number | `6379` |
|
| **`CP_REDIS_PORT`** | ?number | `6379` |
|
||||||
| **`CP_REDIS_DATABASE`** | ?number | `0` |
|
| **`CP_REDIS_DATABASE`** | ?number | `0` |
|
||||||
| **`CP_EMAIL_SMTP_HOST`** | ?string | `nicht definiert` |
|
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
|
||||||
| **`CP_EMAIL_FROM`** | ?string | `nicht definiert` |
|
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
|
||||||
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
|
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
|
||||||
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
|
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
|
||||||
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
|
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
|
||||||
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
||||||
| **`CP_ENABLE_2FA`** | ?boolean | `nicht definiert` |
|
| **`CP_ENABLE_2FA`** | ?boolean | `undefined` |
|
||||||
| **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` |
|
| **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` |
|
| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_KEY`** | ?string | `nicht definiert` |
|
| **`CP_MEDIA_S3_KEY`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_SECRET`** | ?string | `nicht definiert` |
|
| **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_REGION`** | ?string | `nicht definiert` |
|
| **`CP_MEDIA_S3_REGION`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` |
|
| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` |
|
||||||
| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` |
|
| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` |
|
||||||
| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` |
|
| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` |
|
||||||
|
@ -8,15 +8,6 @@ Castopod ist für eine einfache Installation konzipiert. Ob dediziertes oder
|
|||||||
Shared-Hosting, du kannst es auf den meisten PHP-MySQL-kompatiblen Webservern
|
Shared-Hosting, du kannst es auf den meisten PHP-MySQL-kompatiblen Webservern
|
||||||
installieren.
|
installieren.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
Wir haben offizielle Docker Images für Castopod veröffentlicht!
|
|
||||||
|
|
||||||
Wenn du Docker bevorzugst, kannst du die manuelle Anleitung überspringen und
|
|
||||||
direkt zur [Docker-Dokumentation](./docker.md) für Castopod gehen.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Voraussetzungen
|
## Voraussetzungen
|
||||||
|
|
||||||
- PHP v8.1 oder höher
|
- PHP v8.1 oder höher
|
||||||
@ -122,6 +113,7 @@ erstellen und bearbeiten basierend auf der `.env.example` Datei.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -136,7 +128,7 @@ erstellen und bearbeiten basierend auf der `.env.example` Datei.
|
|||||||
|
|
||||||
4. Head on to your admin gateway to start podcasting!
|
4. Head on to your admin gateway to start podcasting!
|
||||||
|
|
||||||
### Email/SMTP Setup
|
### E-Mail-Konfigurationsoptionen
|
||||||
|
|
||||||
E-Mail-Konfiguration ist erforderlich, damit einige Funktionen ordnungsgemäß
|
E-Mail-Konfiguration ist erforderlich, damit einige Funktionen ordnungsgemäß
|
||||||
funktionieren (zB. das Abrufen Ihres vergessenen Passworts, das Senden von
|
funktionieren (zB. das Abrufen Ihres vergessenen Passworts, das Senden von
|
||||||
@ -155,7 +147,7 @@ email.SMTPUser="your_smtp_user"
|
|||||||
email.SMTPPass="your_smtp_password"
|
email.SMTPPass="your_smtp_password"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### E-Mail-Konfigurationsoptionen
|
#### Email/SMTP Setup
|
||||||
|
|
||||||
| Variablennamen | Typ | Voreinstellung |
|
| Variablennamen | Typ | Voreinstellung |
|
||||||
| ---------------- | -------------------- | -------------- |
|
| ---------------- | -------------------- | -------------- |
|
||||||
@ -170,7 +162,8 @@ email.SMTPPass="your_smtp_password"
|
|||||||
### Media storage
|
### Media storage
|
||||||
|
|
||||||
Standardmäßig werden Dateien im Ordner `public/media` über das Dateisystem
|
Standardmäßig werden Dateien im Ordner `public/media` über das Dateisystem
|
||||||
gespeichert. Wenn Sie den Ordner `media` an einen anderen Ort verlegen müssen,
|
gespeichert.
|
||||||
|
Wenn Sie den Ordner `media` an einen anderen Ort verlegen müssen,
|
||||||
können Sie es in Ihrer `.env` Datei angeben wie unten gezeigt:
|
können Sie es in Ihrer `.env` Datei angeben wie unten gezeigt:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
@ -180,8 +173,7 @@ media.root="media"
|
|||||||
media.storage="/mnt/storage"
|
media.storage="/mnt/storage"
|
||||||
```
|
```
|
||||||
|
|
||||||
In diesem Beispiel werden die Dateien im Ordner /mnt/storage/media gespeichert.
|
In diesem Beispiel werden die Dateien im Ordner /mnt/storage/media gespeichert. Stellen Sie sicher, dass Sie auch Ihre Webserver-Konfiguration aktualisieren, um
|
||||||
Stellen Sie sicher, dass Sie auch Ihre Webserver-Konfiguration aktualisieren, um
|
|
||||||
diese Änderung wiederzugeben.
|
diese Änderung wiederzugeben.
|
||||||
|
|
||||||
### S3
|
### S3
|
||||||
|
@ -1,56 +1,58 @@
|
|||||||
---
|
---
|
||||||
title: Kako da ažurirate Castopod?
|
title: How to update Castopod?
|
||||||
---
|
---
|
||||||
|
|
||||||
import { Aside } from "@astrojs/starlight/components";
|
import { Aside } from "@astrojs/starlight/components";
|
||||||
|
|
||||||
Nakon instalacije Castopod-a, možete poželeti da ažurirate svoju instancu na
|
After installing Castopod, you may want to update your instance to the latest
|
||||||
najnoviju verziju kako bi ste uživali u najnovijim opcijama ✨, sređenim
|
version in order to enjoy the latest features ✨, bug fixes 🐛 and performance
|
||||||
bagovima 🐛 i unapređenim performansama ⚡.
|
improvements ⚡.
|
||||||
|
|
||||||
## Uputstva za ažuriranje
|
## Update instructions
|
||||||
|
|
||||||
0. ⚠️ Pre bilo kog ažuriranja, toplo preporučujemo da napravite rezervnu kopiju
|
0. ⚠️ Before any update, we highly recommend you backup your Castopod files and
|
||||||
svojih Castopod datoteka i baze podataka.
|
database.
|
||||||
|
|
||||||
- cf.
|
- cf.
|
||||||
[Da li treba da napravim rezervnu kopiju pre ažuriranja?](#should-i-make-a-backup-before-updating)
|
[Da li treba da napravim rezervnu kopiju pre ažuriranja?](#should-i-make-a-backup-before-updating)
|
||||||
|
|
||||||
1. Idite na
|
1. Go to the
|
||||||
[stranicu izdanja](https://code.castopod.org/adaures/castopod/-/releases) i
|
[releases page](https://code.castopod.org/adaures/castopod/-/releases) and
|
||||||
proverite da li je vaša instanca ažurirana sa najnovijom verzijom Castopod-a
|
see if your instance is up to date with the latest Castopod version
|
||||||
|
|
||||||
- cf.
|
- cf.
|
||||||
[Gde mogu da pronađem moju verziju Castopod-a?](#where-can-i-find-my-castopod-version)
|
[Gde mogu da pronađem moju verziju Castopod-a?](#where-can-i-find-my-castopod-version)
|
||||||
|
|
||||||
2. Skinite najnoviji paket izdanja koji se zove `Castopod Package`, možete
|
2. Download the latest release package named `Castopod Package`, you may choose
|
||||||
odabrati `zip` ili `tar.gz` tip arhive
|
between the `zip` or `tar.gz` archives
|
||||||
|
|
||||||
- ⚠️ Uverite se da ste preuzeli Castopod paket a **NE** izvorni kod
|
- ⚠️ Uverite se da ste preuzeli Castopod paket a **NE** izvorni kod
|
||||||
- Imajte na umu da takođe možete preuzeti najnoviji paket sa
|
- Note that you can also download the latest package from
|
||||||
[castopod.org](https://castopod.org/)
|
[castopod.org](https://castopod.org/)
|
||||||
|
|
||||||
3. Na vašem serveru:
|
3. Na vašem serveru:
|
||||||
|
|
||||||
- Uklonite sve datoteke sem `.env` i `public/media`
|
- Remove all files except `.env` and `public/media`
|
||||||
- Kopirajte nove datoteke iz preuzetog paketa na vaš server
|
- Copy the new files from the downloaded package into your server
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
Možda ćete morati da resetujete dozvole za datoteke kao tokom procesa
|
Možda ćete morati da resetujete dozvole za datoteke kao tokom procesa
|
||||||
instalacije. Proverite [Bezbednosne interese](./security.md).
|
instalacije.
|
||||||
|
Proverite [Bezbednosne interese](./security.md).
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
4. Ažurirajte svoju šemu baze podataka iz vaše `Castopod Admin` > `About`
|
4. Update your database schema from your `Castopod Admin` > `About` page or by
|
||||||
stranice ili tako što ćete pokrenuti:
|
running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
php spark castopod:database-update
|
php spark castopod:database-update
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Očistite keš iz `Castopod Admin` > `Settings` > `general` > `Housekeeping`
|
5. Očistite keš iz `Castopod Admin` > `Settings` > `general` > `Housekeeping`
|
||||||
6. ✨ Uživajte u svežoj instanci, završili ste!
|
|
||||||
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
@ -62,11 +64,11 @@ Izdanja mogu doći sa dodatnim uputstvima za ažuriranje (pogledajte
|
|||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
## Potpuno automatsko ažuriranje
|
## Fully Automated updates
|
||||||
|
|
||||||
> Stiže uskoro... 👀
|
> Stiže uskoro... 👀
|
||||||
|
|
||||||
## Često postavljana pitanja (česta pitanja)
|
## Frequently asked questions (FAQ)
|
||||||
|
|
||||||
### Gde mogu da pronađem svoju verziju Castopod-a?
|
### Gde mogu da pronađem svoju verziju Castopod-a?
|
||||||
|
|
||||||
@ -75,32 +77,32 @@ donjem levom uglu.
|
|||||||
|
|
||||||
Alternativno, verziju možete pronaći u `app > Config > Constants.php` datoteci.
|
Alternativno, verziju možete pronaći u `app > Config > Constants.php` datoteci.
|
||||||
|
|
||||||
### Nisam ažurirao/la svoju instancu veoma dugo… Šta treba da uradim?
|
### I haven't updated my instance in a long time… What should I do?
|
||||||
|
|
||||||
Nema problema! Samo preuzmite poslednju verziju na način opisan iznad. Samo,
|
Nema problema! Samo preuzmite poslednju verziju na način opisan iznad. Samo,
|
||||||
kada idete kroz uputstva izdanja (4), izvodite ih jedno za drugim, od
|
kada idete kroz uputstva izdanja (4), izvodite ih jedno za drugim, od
|
||||||
najstarijih do najnovijih.
|
najstarijih do najnovijih.
|
||||||
|
|
||||||
> Možda ćete želeti da napravite rezervnu kopiju instance u zavisnosti od toga
|
> You may want to backup your instance depending on how long you haven't updated
|
||||||
> koliko dugo niste ažurirali Castopod.
|
> Castopod.
|
||||||
|
|
||||||
Na primer, ako koristite verziju `v1.0.0-alpha.42` i želite da ažurirate na
|
For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to
|
||||||
verziju `v1.0.0-beta.1`:
|
`v1.0.0-beta.1`:
|
||||||
|
|
||||||
0. (toplo preporučujemo) Napravite kopiju važih datoteka i baze podataka.
|
0. (highly recommended) Make a backup of your files and database.
|
||||||
|
|
||||||
1. Preuzmite najnovije izdanje, preišite svoje datoteke čuvajući `.env` i
|
1. Download the latest release, overwrite your files whilst keeping `.env` and
|
||||||
`public/media`.
|
`public/media`.
|
||||||
|
|
||||||
2. Prođite kroz uputstva za ažuriranje svakog izdanja po redu (od najstarijeg do
|
2. Prođite kroz uputstva za ažuriranje svakog izdanja po redu (od najstarijeg do
|
||||||
najnovijeg) počevši sa `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
najnovijeg) počevši sa `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
||||||
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
||||||
|
|
||||||
3. ✨ Uživajte u svežoj instanci, završili ste!
|
3. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
### Da li treba da napravim kopiju pre ažuriranja?
|
### Should I make a backup before updating?
|
||||||
|
|
||||||
Savetujemo vam da to uradite, tako da ne izgubite sve ako nešto krene po zlu!
|
We advise you do, so you don't lose everything if anything goes wrong!
|
||||||
|
|
||||||
Uopštenije, savetujemo vam da redovno pravite rezervne kopije vaših Castopod
|
More generally, we advise you make regular backups of your Castopod files and
|
||||||
datoteka i baze podataka kako biste sprečili da sve izgubite…
|
database to prevent you from losing it all…
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,18 +2,17 @@
|
|||||||
title: Ταυτοποίηση & εξουσιοδότηση
|
title: Ταυτοποίηση & εξουσιοδότηση
|
||||||
---
|
---
|
||||||
|
|
||||||
Ο Castopod χειρίζεται τον έλεγχο ταυτότητας και την έγκριση χρησιμοποιώντας
|
Castopod handles authentication and authorization using `codeigniter/shield`
|
||||||
`codeigniter/shield` σε συνδυασμό με προσαρμοσμένους κανόνες. Οι ρόλοι και τα
|
coupled with custom rules. Roles and permissions are defined at two levels:
|
||||||
δικαιώματα καθορίζονται σε δύο επίπεδα:
|
|
||||||
|
|
||||||
1. [ευρεία παρουσία](#1-instance-wide-roles-and-permissions)
|
1. [ευρεία παρουσία](#1-instance-wide-roles-and-permissions)
|
||||||
2. [ανά podcast](#2-per-podcast-roles-and-permissions)
|
2. [ανά podcast](#2-per-podcast-roles-and-permissions)
|
||||||
|
|
||||||
## 1. Διαχείριση ρόλων και δικαιωμάτων
|
## 1. Instance wide roles and permissions
|
||||||
|
|
||||||
### Ρόλοι εμφάνισης
|
### Ρόλοι εμφάνισης
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ---------------- | ------------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ---------------- | ------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +20,11 @@ title: Ταυτοποίηση & εξουσιοδότηση
|
|||||||
| Διαχειριστής | Διαχείριση περιεχομένου του Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Διαχειριστής | Διαχείριση περιεχομένου του Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | Γενικοί χρήστες του Castopod. | admin.access |
|
| Podcaster | Γενικοί χρήστες του Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | -------------------------------------------------------------------------------------- |
|
| ----------------------- | -------------------------------------------------------------------------------------- |
|
||||||
@ -39,13 +38,13 @@ title: Ταυτοποίηση & εξουσιοδότηση
|
|||||||
| podcasts.import | Μπορεί να εισάγει podcasts. |
|
| podcasts.import | Μπορεί να εισάγει podcasts. |
|
||||||
| fediverse.manage-blocks | Μπορεί να εμποδίσει τους ψευτογενείς ηθοποιούς/τομείς να αλληλεπιδρούν με το Castopod. |
|
| fediverse.manage-blocks | Μπορεί να εμποδίσει τους ψευτογενείς ηθοποιούς/τομείς να αλληλεπιδρούν με το Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +53,11 @@ title: Ταυτοποίηση & εξουσιοδότηση
|
|||||||
| Συντάκτης | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Συντάκτης | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Επισκέπτης | Γενικός συντελεστής του podcast #\{id\}. | view, episodes.view |
|
| Επισκέπτης | Γενικός συντελεστής του podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -82,4 +81,4 @@ title: Ταυτοποίηση & εξουσιοδότηση
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -111,7 +112,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
- **castopod/castopod** and **castopod/app**
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
| Anv ar varienn | Type (`default`) | Dre ziouer |
|
| Anv ar varienn | Type (`default`) | Default |
|
||||||
| ------------------------------------- | ----------------------- | ---------------- |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | string | `undefined` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
|
@ -7,16 +7,7 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
## Requirements
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Vereisten
|
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
@ -104,7 +95,7 @@ want to generate Video Clips. The following extensions must be installed:
|
|||||||
1. Run the Castopod install script by going to the install wizard page
|
1. Run the Castopod install script by going to the install wizard page
|
||||||
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
||||||
2. Follow the instructions on your screen.
|
2. Follow the instructions on your screen.
|
||||||
3. Begin met podcasting!
|
3. Start podcasting!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -148,19 +140,19 @@ email.SMTPUser="your_smtp_user"
|
|||||||
email.SMTPPass="your_smtp_password"
|
email.SMTPPass="your_smtp_password"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### E-mail configuratieopties
|
#### Email config options
|
||||||
|
|
||||||
| De naam van de variabele | Soort | Standaard |
|
| Variable name | Type | Default |
|
||||||
| ------------------------ | -------------------- | ------------------ |
|
| ---------------- | -------------------- | ------------ |
|
||||||
| **`fromEmail`** | string | `niet gedefineerd` |
|
| **`fromEmail`** | string | `undefined` |
|
||||||
| **`fromName`** | string | `"Castopod"` |
|
| **`fromName`** | string | `"Castopod"` |
|
||||||
| **`SMTPHost`** | tekenreeks | `niet gedefineerd` |
|
| **`SMTPHost`** | string | `undefined` |
|
||||||
| **`SMTPUser`** | tekenreeks | `niet gedefineerd` |
|
| **`SMTPUser`** | string | `undefined` |
|
||||||
| **`SMTPPass`** | tekenreeks | `niet gedefineerd` |
|
| **`SMTPPass`** | string | `undefined` |
|
||||||
| **`SMTPPort`** | nummer | `25` |
|
| **`SMTPPort`** | number | `25` |
|
||||||
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
||||||
|
|
||||||
### Mediaopslag
|
### Media storage
|
||||||
|
|
||||||
By default, files are saved to the `public/media` folder using the file system.
|
By default, files are saved to the `public/media` folder using the file system.
|
||||||
If you need to relocate the `media` folder to a different location, you can
|
If you need to relocate the `media` folder to a different location, you can
|
||||||
@ -194,15 +186,15 @@ media.s3.region="your_s3_region"
|
|||||||
#### S3 config options
|
#### S3 config options
|
||||||
|
|
||||||
| Variable name | Type | Default |
|
| Variable name | Type | Default |
|
||||||
| ----------------------- | ---------- | ------------------ |
|
| ----------------------- | ------- | ----------- |
|
||||||
| **`endpoint`** | string | `undefined` |
|
| **`endpoint`** | string | `undefined` |
|
||||||
| **`key`** | string | `undefined` |
|
| **`key`** | string | `undefined` |
|
||||||
| **`secret`** | tekenreeks | `niet gedefineerd` |
|
| **`secret`** | string | `undefined` |
|
||||||
| **`region`** | tekenreeks | `niet gedefineerd` |
|
| **`region`** | string | `undefined` |
|
||||||
| **`bucket`** | tekenreeks | `castopod` |
|
| **`bucket`** | string | `castopod` |
|
||||||
| **`protocol`** | nummer | `niet gedefineerd` |
|
| **`protocol`** | number | `undefined` |
|
||||||
| **`pathStyleEndpoint`** | boolean | `onwaar` |
|
| **`pathStyleEndpoint`** | boolean | `false` |
|
||||||
| **`keyPrefix`** | tekenreeks | `niet gedefineerd` |
|
| **`keyPrefix`** | string | `undefined` |
|
||||||
|
|
||||||
## Community packages
|
## Community packages
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
@ -65,7 +66,7 @@ Releases may come with additional update instructions (see
|
|||||||
|
|
||||||
## Volledig geautomatiseerde updates
|
## Volledig geautomatiseerde updates
|
||||||
|
|
||||||
> Binnenkort beschikbaar... 👀
|
> Coming soon... 👀
|
||||||
|
|
||||||
## Veelgestelde vragen (FAQ)
|
## Veelgestelde vragen (FAQ)
|
||||||
|
|
||||||
@ -79,9 +80,9 @@ file.
|
|||||||
|
|
||||||
### I haven't updated my instance in a long time… What should I do?
|
### I haven't updated my instance in a long time… What should I do?
|
||||||
|
|
||||||
Geen probleem! Krijg gewoon de laatste versie zoals hierboven beschreven. Only,
|
No problem! Just get the latest release as described above. Only, when going
|
||||||
when going through the release instructions (4), perform them sequentially, from
|
through the release instructions (4), perform them sequentially, from the oldest
|
||||||
the oldest to the newest.
|
to the newest.
|
||||||
|
|
||||||
> You may want to backup your instance depending on how long you haven't updated
|
> You may want to backup your instance depending on how long you haven't updated
|
||||||
> Castopod.
|
> Castopod.
|
||||||
@ -98,7 +99,7 @@ For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to
|
|||||||
newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
||||||
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
||||||
|
|
||||||
3. ✨ Geniet van je nieuwe instantie, je bent helemaal klaar!
|
3. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
### Moet ik een back-up maken voordat ik update?
|
### Moet ik een back-up maken voordat ik update?
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ niveles:
|
|||||||
|
|
||||||
### Roles de instancia
|
### Roles de instancia
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +21,11 @@ niveles:
|
|||||||
| Administrador | Administrar contenido de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Administrador | Administrar contenido de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | Usuarios generales de Castopod. | admin.access |
|
| Podcaster | Usuarios generales de Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permisos de instancia
|
### Permisos de instancia
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------------------ |
|
||||||
@ -39,13 +39,13 @@ niveles:
|
|||||||
| podcasts.import | Puede importar podcasts. |
|
| podcasts.import | Puede importar podcasts. |
|
||||||
| fediverse.manage-blocks | Puedes bloquear la interacción de actores/dominios del fediverso con Castopod. |
|
| fediverse.manage-blocks | Puedes bloquear la interacción de actores/dominios del fediverso con Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Permisos y roles por podcast
|
## 2. Permisos y roles por podcast
|
||||||
|
|
||||||
### Roles por podcast
|
### Roles por podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ niveles:
|
|||||||
| Autor | Gestiona el contenido del podcast #\{id\} pero no puede publicarlo. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Autor | Gestiona el contenido del podcast #\{id\} pero no puede publicarlo. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Invitado | Colaborador general del podcast #\{id\}. | view, episodes.view |
|
| Invitado | Colaborador general del podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permisos por podcast
|
### Permisos por podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ niveles:
|
|||||||
| episodes.manage-publications | Puede publicar/despublicar episodios y publicaciones del podcast #\{id\}. |
|
| episodes.manage-publications | Puede publicar/despublicar episodios y publicaciones del podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Puede crear/eliminar los comentarios de episodio del podcast #\{id\}. |
|
| episodes.manage-comments | Puede crear/eliminar los comentarios de episodio del podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -12,8 +12,7 @@ construcción automatizada:
|
|||||||
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
|
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
|
||||||
configuración de Nginx para Castopod
|
configuración de Nginx para Castopod
|
||||||
|
|
||||||
Adicionalmente, Castopod requiere una base de datos compatible con MySQL.
|
Adicionalmente, Castopod requiere una base de datos compatible con MySQL. También se puede añadir una base de datos Redis como gestor de caché.
|
||||||
También se puede añadir una base de datos Redis como gestor de caché.
|
|
||||||
|
|
||||||
## Etiquetas admitidas
|
## Etiquetas admitidas
|
||||||
|
|
||||||
@ -26,6 +25,7 @@ También se puede añadir una base de datos Redis como gestor de caché.
|
|||||||
|
|
||||||
1. Instalar [docker](https://docs.docker.com/get-docker/) y
|
1. Instalar [docker](https://docs.docker.com/get-docker/) y
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Crear un archivo `docker-compose.yml` con lo siguiente:
|
2. Crear un archivo `docker-compose.yml` con lo siguiente:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -112,7 +112,7 @@ También se puede añadir una base de datos Redis como gestor de caché.
|
|||||||
|
|
||||||
- **castopod/castopod** and **castopod/app**
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
| Nombre de la Variable | Tipo (`predeterminado`) | Por defecto |
|
| Nombre de la Variable | Tipo (`predeterminado`) | Default |
|
||||||
| ------------------------------------- | ----------------------- | ---------------- |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | string | `undefined` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_URLBASE`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_URLBASE`** | ?string | `CP_BASEURL` |
|
||||||
@ -152,8 +152,8 @@ También se puede añadir una base de datos Redis como gestor de caché.
|
|||||||
|
|
||||||
- **castopod/servidor web**
|
- **castopod/servidor web**
|
||||||
|
|
||||||
| Nombre de la variable | Tipo | Por defecto |
|
| Nombre de la variable | Tipo | Default |
|
||||||
| ---------------------- | --------------------- | ----------- |
|
| ---------------------- | --------------------- | ------- |
|
||||||
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |
|
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |
|
||||||
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
||||||
| **`CP_TIMEOUT`** | ?number | `900` |
|
| **`CP_TIMEOUT`** | ?number | `900` |
|
||||||
|
@ -8,15 +8,6 @@ Castopod está pensado para ser fácil de instalar. Ya sea usando un alojamiento
|
|||||||
dedicado o compartido, puedes instalarlo en la mayoría de servidores web
|
dedicado o compartido, puedes instalarlo en la mayoría de servidores web
|
||||||
compatibles con PHP-MySQL.
|
compatibles con PHP-MySQL.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
¡Hemos publicado imágenes oficiales de Docker para Castopod!
|
|
||||||
|
|
||||||
Si prefieres usar Docker, puedes saltarte esto e ir directamente a la
|
|
||||||
[documentación sobre docker](./docker.md) para Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requisitos
|
## Requisitos
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -120,6 +111,7 @@ manually based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -134,7 +126,7 @@ manually based on the `.env.example` file.
|
|||||||
|
|
||||||
4. Head on to your admin gateway to start podcasting!
|
4. Head on to your admin gateway to start podcasting!
|
||||||
|
|
||||||
### Configuración de Correo Electrónico/SMTP
|
### Email/SMTP setup
|
||||||
|
|
||||||
La configuración del correo electrónico es necesaria para que algunas
|
La configuración del correo electrónico es necesaria para que algunas
|
||||||
características funcionen correctamente (por ejemplo, recuperar su contraseña
|
características funcionen correctamente (por ejemplo, recuperar su contraseña
|
||||||
@ -152,10 +144,10 @@ email.SMTPUser="your_smtp_user"
|
|||||||
email.SMTPPass="your_smtp_password"
|
email.SMTPPass="your_smtp_password"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Opciones de configuración de email
|
#### Configuración de Correo Electrónico/SMTP
|
||||||
|
|
||||||
| Nombre de la variable | Tipo | Predeterminado |
|
| Nombre de variable | Type | Default |
|
||||||
| --------------------- | -------------------- | -------------- |
|
| ------------------ | -------------------- | ------------ |
|
||||||
| **`fromEmail`** | string | `undefined` |
|
| **`fromEmail`** | string | `undefined` |
|
||||||
| **`fromName`** | string | `"Castopod"` |
|
| **`fromName`** | string | `"Castopod"` |
|
||||||
| **`SMTPHost`** | string | `undefined` |
|
| **`SMTPHost`** | string | `undefined` |
|
||||||
@ -197,7 +189,7 @@ media.s3.region="your_s3_region"
|
|||||||
|
|
||||||
#### S3 config options
|
#### S3 config options
|
||||||
|
|
||||||
| Nombre de variable | Type | Default |
|
| Nombre de la variable | Type | Default |
|
||||||
| ----------------------- | ------- | ----------- |
|
| ----------------------- | ------- | ----------- |
|
||||||
| **`endpoint`** | string | `undefined` |
|
| **`endpoint`** | string | `undefined` |
|
||||||
| **`key`** | string | `undefined` |
|
| **`key`** | string | `undefined` |
|
||||||
|
@ -38,7 +38,8 @@ de errores 🐛 y mejoras de rendimiento ⚡.
|
|||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
Es posible que necesite restablecer los permisos de los archivos después el
|
Es posible que necesite restablecer los permisos de los archivos después el
|
||||||
proceso de instalación. Compruebe
|
proceso de instalación.
|
||||||
|
Compruebe
|
||||||
[preocupaciones de seguridad](./security.md).
|
[preocupaciones de seguridad](./security.md).
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
@ -52,6 +53,7 @@ de errores 🐛 y mejoras de rendimiento ⚡.
|
|||||||
|
|
||||||
5. Limpia tu caché en `Administrador de Castopod` > `Ajustes` > `general` >
|
5. Limpia tu caché en `Administrador de Castopod` > `Ajustes` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ ¡Disfruta de tu instancia recién instalada, todo listo!
|
6. ✨ ¡Disfruta de tu instancia recién instalada, todo listo!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
@ -66,7 +68,7 @@ la página de
|
|||||||
|
|
||||||
## Actualizaciones totalmente automatizadas
|
## Actualizaciones totalmente automatizadas
|
||||||
|
|
||||||
> Próximamente...
|
> Próximamente... 👀
|
||||||
|
|
||||||
## Preguntas Frecuentes (FAQ)
|
## Preguntas Frecuentes (FAQ)
|
||||||
|
|
||||||
@ -80,8 +82,7 @@ Alternativamente, puedes encontrar la versión en el archivo
|
|||||||
|
|
||||||
### No he actualizado mi instancia en mucho tiempo… ¿Qué debo hacer?
|
### No he actualizado mi instancia en mucho tiempo… ¿Qué debo hacer?
|
||||||
|
|
||||||
¡No hay problema! No problem! Just get the latest release as described above.
|
No problem! Just get the latest release as described above. Simplemente cuando vaya a través de las instrucciones de lanzamiento (4),
|
||||||
Simplemente cuando vaya a través de las instrucciones de lanzamiento (4),
|
|
||||||
realice la actualización secuencialmente, desde el más antiguo hasta el más
|
realice la actualización secuencialmente, desde el más antiguo hasta el más
|
||||||
reciente.
|
reciente.
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
84
docs/src/content/docs/fr-ca/getting-started/auth.mdx
Normal file
84
docs/src/content/docs/fr-ca/getting-started/auth.mdx
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
title: Authentication & Authorization
|
||||||
|
---
|
||||||
|
|
||||||
|
Castopod handles authentication and authorization using `codeigniter/shield`
|
||||||
|
coupled with custom rules. Roles and permissions are defined at two levels:
|
||||||
|
|
||||||
|
1. [instance wide](#1-instance-wide-roles-and-permissions)
|
||||||
|
2. [per podcast](#2-per-podcast-roles-and-permissions)
|
||||||
|
|
||||||
|
## 1. Instance wide roles and permissions
|
||||||
|
|
||||||
|
### Instance roles
|
||||||
|
|
||||||
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
|
| role | description | permissions |
|
||||||
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
|
| Super admin | Has complete control over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
|
||||||
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
|
### Instance permissions
|
||||||
|
|
||||||
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
|
| permission | description |
|
||||||
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
|
| admin.access | Can access the Castopod admin area. |
|
||||||
|
| admin.settings | Can access the Castopod settings. |
|
||||||
|
| users.manage | Can manage Castopod users. |
|
||||||
|
| persons.manage | Can manage persons. |
|
||||||
|
| pages.manage | Can manage pages. |
|
||||||
|
| podcasts.view | Can view all podcasts. |
|
||||||
|
| podcasts.create | Can create new podcasts. |
|
||||||
|
| podcasts.import | Can import podcasts. |
|
||||||
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
|
### Per podcast roles
|
||||||
|
|
||||||
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
|
| role | description | permissions |
|
||||||
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| Admin | Has complete control of podcast #\{id\}. | \* |
|
||||||
|
| Editor | Manages content and publications of podcast #\{id\}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments |
|
||||||
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
|
### Per podcast permissions
|
||||||
|
|
||||||
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
|
| permission | description |
|
||||||
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
|
| view | Can view dashboard and analytics of podcast #\{id\}. |
|
||||||
|
| edit | Can edit podcast #\{id\}. |
|
||||||
|
| delete | Can delete podcast #\{id\}. |
|
||||||
|
| manage-import | Can synchronize imported podcast #\{id\}. |
|
||||||
|
| manage-persons | Can manage subscriptions of podcast #\{id\}. |
|
||||||
|
| manage-subscriptions | Can manage subscriptions of podcast #\{id\}. |
|
||||||
|
| manage-contributors | Can manage contributors of podcast #\{id\}. |
|
||||||
|
| manage-platforms | Can set/remove platform links of podcast #\{id\}. |
|
||||||
|
| manage-publications | Can publish podcast #\{id\}. |
|
||||||
|
| manage-notifications | Can view and mark notifications as read for podcast #\{id\}. |
|
||||||
|
| interact-as | Can interact as the podcast #\{id\} to favourite, share or reply to posts. |
|
||||||
|
| episodes.view | Can view dashboards and analytics of podcast #\{id\}'s episodes. |
|
||||||
|
| episodes.create | Can create episodes for podcast #\{id\}. |
|
||||||
|
| episodes.edit | Can edit episodes of podcast #\{id\}. |
|
||||||
|
| episodes.delete | Can delete episodes of podcast #\{id\}. |
|
||||||
|
| episodes.manage-persons | Can manage episode persons of podcast #\{id\}. |
|
||||||
|
| episodes.manage-clips | Can manage video clips or soundbites of podcast #\{id\}. |
|
||||||
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
158
docs/src/content/docs/fr-ca/getting-started/docker.mdx
Normal file
158
docs/src/content/docs/fr-ca/getting-started/docker.mdx
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
---
|
||||||
|
title: Official Docker images
|
||||||
|
---
|
||||||
|
|
||||||
|
Castopod pushes 3 Docker images to the Docker Hub during its automated build
|
||||||
|
process:
|
||||||
|
|
||||||
|
- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): an all
|
||||||
|
in one castopod image using nginx unit
|
||||||
|
- [**`castopod/app`**](https://hub.docker.com/r/castopod/app): the app bundle
|
||||||
|
with all of Castopod dependencies
|
||||||
|
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): an
|
||||||
|
Nginx configuration for Castopod
|
||||||
|
|
||||||
|
Additionally, Castopod requires a MySQL-compatible database. A Redis database
|
||||||
|
can be added as a cache handler.
|
||||||
|
|
||||||
|
## Supported tags
|
||||||
|
|
||||||
|
- `develop` [unstable], latest development branch build
|
||||||
|
- `beta` [stable], latest beta version build
|
||||||
|
- `latest` [stable], latest version build
|
||||||
|
- `1.x.x` [stable], specific version build (since `1.0.0`)
|
||||||
|
|
||||||
|
## Example usage
|
||||||
|
|
||||||
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
castopod:
|
||||||
|
image: castopod/castopod:latest
|
||||||
|
container_name: "castopod"
|
||||||
|
volumes:
|
||||||
|
- castopod-media:/var/www/castopod/public/media
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: castopod
|
||||||
|
MYSQL_USER: castopod
|
||||||
|
MYSQL_PASSWORD: changeme
|
||||||
|
CP_BASEURL: "https://castopod.example.com"
|
||||||
|
CP_ANALYTICS_SALT: changeme
|
||||||
|
CP_CACHE_HANDLER: redis
|
||||||
|
CP_REDIS_HOST: redis
|
||||||
|
CP_REDIS_PASSWORD: changeme
|
||||||
|
networks:
|
||||||
|
- castopod
|
||||||
|
- castopod-db
|
||||||
|
ports:
|
||||||
|
- 8000:8000
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
image: mariadb:11.2
|
||||||
|
container_name: "castopod-mariadb"
|
||||||
|
networks:
|
||||||
|
- castopod-db
|
||||||
|
volumes:
|
||||||
|
- castopod-db:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: changeme
|
||||||
|
MYSQL_DATABASE: castopod
|
||||||
|
MYSQL_USER: castopod
|
||||||
|
MYSQL_PASSWORD: changeme
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7.2-alpine
|
||||||
|
container_name: "castopod-redis"
|
||||||
|
command: --requirepass changeme
|
||||||
|
volumes:
|
||||||
|
- castopod-cache:/data
|
||||||
|
networks:
|
||||||
|
- castopod
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
castopod-media:
|
||||||
|
castopod-db:
|
||||||
|
castopod-cache:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
castopod:
|
||||||
|
castopod-db:
|
||||||
|
```
|
||||||
|
|
||||||
|
You have to adapt some variables to your needs (e.g. `CP_BASEURL`,
|
||||||
|
`MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`).
|
||||||
|
|
||||||
|
3. Setup a reverse proxy for TLS (SSL/HTTPS)
|
||||||
|
|
||||||
|
TLS is mandatory for ActivityPub to work. This job can easily be handled by
|
||||||
|
a reverse proxy, for example with [Caddy](https://caddyserver.com/):
|
||||||
|
|
||||||
|
```
|
||||||
|
#castopod
|
||||||
|
castopod.example.com {
|
||||||
|
reverse_proxy localhost:8000
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Run `docker-compose up -d`, wait for it to initialize and head on to
|
||||||
|
`https://castopod.example.com/cp-install` to finish setting up Castopod!
|
||||||
|
|
||||||
|
5. You're all set, start podcasting! 🎙️🚀
|
||||||
|
|
||||||
|
## Environment Variables
|
||||||
|
|
||||||
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
|
| Variable name | Type (`default`) | Default |
|
||||||
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
|
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
|
||||||
|
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
|
||||||
|
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
|
||||||
|
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
|
||||||
|
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
|
||||||
|
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
|
||||||
|
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
|
||||||
|
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
|
||||||
|
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
|
||||||
|
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
|
||||||
|
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
|
||||||
|
| **`CP_REDIS_PORT`** | ?number | `6379` |
|
||||||
|
| **`CP_REDIS_DATABASE`** | ?number | `0` |
|
||||||
|
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
|
||||||
|
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
|
||||||
|
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
|
||||||
|
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
|
||||||
|
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
|
||||||
|
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
||||||
|
| **`CP_ENABLE_2FA`** | ?boolean | `undefined` |
|
||||||
|
| **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_KEY`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_REGION`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` |
|
||||||
|
| **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `undefined` |
|
||||||
|
| **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `undefined` |
|
||||||
|
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
||||||
|
| **`CP_PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` |
|
||||||
|
| **`CP_TIMEOUT`** | ?number | `900` |
|
||||||
|
|
||||||
|
- **castopod/web-server**
|
||||||
|
|
||||||
|
| Variable name | Type | Default |
|
||||||
|
| ---------------------- | --------------------- | ------- |
|
||||||
|
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |
|
||||||
|
| **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` |
|
||||||
|
| **`CP_TIMEOUT`** | ?number | `900` |
|
243
docs/src/content/docs/fr-ca/getting-started/install.mdx
Normal file
243
docs/src/content/docs/fr-ca/getting-started/install.mdx
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
---
|
||||||
|
title: How to install Castopod?
|
||||||
|
---
|
||||||
|
|
||||||
|
import { Aside } from "@astrojs/starlight/components";
|
||||||
|
|
||||||
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- PHP v8.1 or higher
|
||||||
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
|
- HTTPS support
|
||||||
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
|
incoming requests
|
||||||
|
|
||||||
|
### PHP v8.1 or higher
|
||||||
|
|
||||||
|
PHP version 8.1 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
- [mbstring](https://php.net/manual/en/mbstring.installation.php)
|
||||||
|
- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**,
|
||||||
|
**PNG** and **WEBP** libraries.
|
||||||
|
- [exif](https://www.php.net/manual/en/exif.installation.php)
|
||||||
|
|
||||||
|
Additionally, make sure that the following extensions are enabled in your PHP:
|
||||||
|
|
||||||
|
- json (enabled by default - don't turn it off)
|
||||||
|
- xml (enabled by default - don't turn it off)
|
||||||
|
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
|
||||||
|
|
||||||
|
### MySQL compatible database
|
||||||
|
|
||||||
|
> We recommend using [MariaDB](https://mariadb.org).
|
||||||
|
|
||||||
|
You will need the server hostname, database name, username and password to
|
||||||
|
complete the installation process. If you do not have these, please contact your
|
||||||
|
server administrator.
|
||||||
|
|
||||||
|
#### Privileges
|
||||||
|
|
||||||
|
User must have at least these privileges on the database for Castopod to work:
|
||||||
|
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`,
|
||||||
|
`REFERENCES`, `CREATE VIEW`.
|
||||||
|
|
||||||
|
### (Optional) FFmpeg v4.1.8 or higher for Video Clips
|
||||||
|
|
||||||
|
[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 or higher is required if you
|
||||||
|
want to generate Video Clips. The following extensions must be installed:
|
||||||
|
|
||||||
|
- **FreeType 2** library for
|
||||||
|
[gd](https://www.php.net/manual/en/image.installation.php).
|
||||||
|
|
||||||
|
### (Optional) Other recommendations
|
||||||
|
|
||||||
|
- Redis for better cache performances.
|
||||||
|
- CDN for static files caching and better performances.
|
||||||
|
- e-mail gateway for lost passwords.
|
||||||
|
|
||||||
|
## Install instructions
|
||||||
|
|
||||||
|
### Pre-requisites
|
||||||
|
|
||||||
|
0. Get a Web Server with [requirements](#requirements) installed
|
||||||
|
1. Create a MySQL database for Castopod with a user having access and
|
||||||
|
modification privileges (for more info, see
|
||||||
|
[MySQL compatible database](#mysql-compatible-database)).
|
||||||
|
2. Activate HTTPS on your domain with an _SSL certificate_.
|
||||||
|
3. Download and unzip the latest [Castopod Package](https://castopod.org/) onto
|
||||||
|
the web server if you haven’t already.
|
||||||
|
- ⚠️ Set the web server document root to the `public/` sub-folder within the
|
||||||
|
`castopod` folder.
|
||||||
|
4. Add **cron tasks** on your web server for various background processes
|
||||||
|
(replace the paths accordingly):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
* * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note** - If you do not add this cron task, the following Castopod features
|
||||||
|
will not work:
|
||||||
|
|
||||||
|
- Importing a podcast from an existing RSS feed
|
||||||
|
- Broadcasting social activities to your followers in the fediverse
|
||||||
|
- Broadcasting episodes to open hubs using
|
||||||
|
[WebSub](https://en.wikipedia.org/wiki/WebSub)
|
||||||
|
- Generating video clips -
|
||||||
|
[requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
|
||||||
|
|
||||||
|
### (recommended) Install Wizard
|
||||||
|
|
||||||
|
1. Run the Castopod install script by going to the install wizard page
|
||||||
|
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
||||||
|
2. Follow the instructions on your screen.
|
||||||
|
3. Start podcasting!
|
||||||
|
|
||||||
|
<Aside>
|
||||||
|
|
||||||
|
The install script writes a `.env` file in the package root. If you cannot go
|
||||||
|
through the install wizard, you can create and edit the `.env` file manually
|
||||||
|
based on the `.env.example` file.
|
||||||
|
|
||||||
|
</Aside>
|
||||||
|
|
||||||
|
### Using CLI
|
||||||
|
|
||||||
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
|
2. Initialize the database using:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
php spark install:init-database
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Create the superadmin user using:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
php spark install:create-superadmin
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Head on to your admin gateway to start podcasting!
|
||||||
|
|
||||||
|
### Email/SMTP setup
|
||||||
|
|
||||||
|
Email configuration is required for some features to work properly (eg.
|
||||||
|
retrieving your forgotten password, sending instructions to premium subscribers,
|
||||||
|
…)
|
||||||
|
|
||||||
|
You may add your email configuration in your instance's `.env` like so:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# […]
|
||||||
|
|
||||||
|
email.fromEmail="your_email_address"
|
||||||
|
email.SMTPHost="your_smtp_host"
|
||||||
|
email.SMTPUser="your_smtp_user"
|
||||||
|
email.SMTPPass="your_smtp_password"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Email config options
|
||||||
|
|
||||||
|
| Variable name | Type | Default |
|
||||||
|
| ---------------- | -------------------- | ------------ |
|
||||||
|
| **`fromEmail`** | string | `undefined` |
|
||||||
|
| **`fromName`** | string | `"Castopod"` |
|
||||||
|
| **`SMTPHost`** | string | `undefined` |
|
||||||
|
| **`SMTPUser`** | string | `undefined` |
|
||||||
|
| **`SMTPPass`** | string | `undefined` |
|
||||||
|
| **`SMTPPort`** | number | `25` |
|
||||||
|
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
|
||||||
|
|
||||||
|
### Media storage
|
||||||
|
|
||||||
|
By default, files are saved to the `public/media` folder using the file system.
|
||||||
|
If you need to relocate the `media` folder to a different location, you can
|
||||||
|
specify it in your `.env` file as shown below:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# […]
|
||||||
|
|
||||||
|
media.root="media"
|
||||||
|
media.storage="/mnt/storage"
|
||||||
|
```
|
||||||
|
|
||||||
|
In this example, the files will be saved to the /mnt/storage/media folder. Make
|
||||||
|
sure to also update your web server configuration to reflect this change.
|
||||||
|
|
||||||
|
### S3
|
||||||
|
|
||||||
|
If you prefer storing your media files on an S3 compatible storage, you may
|
||||||
|
specify it in your `.env`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# […]
|
||||||
|
|
||||||
|
media.fileManager="s3"
|
||||||
|
media.s3.endpoint="your_s3_host"
|
||||||
|
media.s3.key="your_s3_key"
|
||||||
|
media.s3.secret="your_s3_secret"
|
||||||
|
media.s3.region="your_s3_region"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### S3 config options
|
||||||
|
|
||||||
|
| Variable name | Type | Default |
|
||||||
|
| ----------------------- | ------- | ----------- |
|
||||||
|
| **`endpoint`** | string | `undefined` |
|
||||||
|
| **`key`** | string | `undefined` |
|
||||||
|
| **`secret`** | string | `undefined` |
|
||||||
|
| **`region`** | string | `undefined` |
|
||||||
|
| **`bucket`** | string | `castopod` |
|
||||||
|
| **`protocol`** | number | `undefined` |
|
||||||
|
| **`pathStyleEndpoint`** | boolean | `false` |
|
||||||
|
| **`keyPrefix`** | string | `undefined` |
|
||||||
|
|
||||||
|
## Community packages
|
||||||
|
|
||||||
|
If you don't want to bother with installing Castopod manually, you may use one
|
||||||
|
of the packages created and maintained by the open-source community.
|
||||||
|
|
||||||
|
### Install with YunoHost
|
||||||
|
|
||||||
|
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
|
||||||
|
made up of free and open-source software packages. It manages the hardships of
|
||||||
|
self-hosting for you.
|
||||||
|
|
||||||
|
<div class="flex flex-wrap items-center gap-4">
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="https://install-app.yunohost.org/?app=castopod"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src="https://install-app.yunohost.org/install-with-yunohost.svg"
|
||||||
|
alt="Install Castopod with YunoHost"
|
||||||
|
class="align-middle"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="https://github.com/YunoHost-Apps/castopod_ynh"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
class="inline-flex items-center px-4 py-[.3rem] mx-auto font-semibold text-center text-black rounded-md gap-x-1 border-2 border-solid border-[#333] hover:no-underline hover:bg-gray-100"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
class="text-xl"
|
||||||
|
>
|
||||||
|
<path fill="none" d="M0 0h24v24H0z" />
|
||||||
|
<path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z" />
|
||||||
|
</svg>
|
||||||
|
Github Repo
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
24
docs/src/content/docs/fr-ca/getting-started/security.mdx
Normal file
24
docs/src/content/docs/fr-ca/getting-started/security.mdx
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: Security concerns
|
||||||
|
---
|
||||||
|
|
||||||
|
Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP
|
||||||
|
framework that encourages
|
||||||
|
[good security practices](https://codeigniter.com/user_guide/concepts/security.html).
|
||||||
|
|
||||||
|
To maximize your instance's safety and prevent any malicious attack, we
|
||||||
|
recommend you update all your Castopod files permissions after installation or
|
||||||
|
updates (to avoid any prior permission error):
|
||||||
|
|
||||||
|
- `writable/` folder must be **readable** and **writable**.
|
||||||
|
- `public/media/` folder must be **readable** and **writable**.
|
||||||
|
- any other file must be set to **readonly**.
|
||||||
|
|
||||||
|
For instance, if you are using Apache or NGINX with Ubuntu you may do the
|
||||||
|
following:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo chown -R root:root /path/to/castopod
|
||||||
|
sudo chown -R www-data:www-data /path/to/castopod/writable
|
||||||
|
sudo chown -R www-data:www-data /path/to/castopod/public/media
|
||||||
|
```
|
109
docs/src/content/docs/fr-ca/getting-started/update.mdx
Normal file
109
docs/src/content/docs/fr-ca/getting-started/update.mdx
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
---
|
||||||
|
title: How to update Castopod?
|
||||||
|
---
|
||||||
|
|
||||||
|
import { Aside } from "@astrojs/starlight/components";
|
||||||
|
|
||||||
|
After installing Castopod, you may want to update your instance to the latest
|
||||||
|
version in order to enjoy the latest features ✨, bug fixes 🐛 and performance
|
||||||
|
improvements ⚡.
|
||||||
|
|
||||||
|
## Update instructions
|
||||||
|
|
||||||
|
0. ⚠️ Before any update, we highly recommend you backup your Castopod files and
|
||||||
|
database.
|
||||||
|
|
||||||
|
- cf.
|
||||||
|
[Should I make a backup before updating?](#should-i-make-a-backup-before-updating)
|
||||||
|
|
||||||
|
1. Go to the
|
||||||
|
[releases page](https://code.castopod.org/adaures/castopod/-/releases) and
|
||||||
|
see if your instance is up to date with the latest Castopod version
|
||||||
|
|
||||||
|
- cf.
|
||||||
|
[Where can I find my Castopod version?](#where-can-i-find-my-castopod-version)
|
||||||
|
|
||||||
|
2. Download the latest release package named `Castopod Package`, you may choose
|
||||||
|
between the `zip` or `tar.gz` archives
|
||||||
|
|
||||||
|
- ⚠️ Make sure you download the Castopod Package and **NOT** the Source Code
|
||||||
|
- Note that you can also download the latest package from
|
||||||
|
[castopod.org](https://castopod.org/)
|
||||||
|
|
||||||
|
3. On your server:
|
||||||
|
|
||||||
|
- Remove all files except `.env` and `public/media`
|
||||||
|
- Copy the new files from the downloaded package into your server
|
||||||
|
|
||||||
|
<Aside>
|
||||||
|
|
||||||
|
You may need to reset files permissions as during the install process.
|
||||||
|
Check [Security Concerns](./security.md).
|
||||||
|
|
||||||
|
</Aside>
|
||||||
|
|
||||||
|
4. Update your database schema from your `Castopod Admin` > `About` page or by
|
||||||
|
running:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php spark castopod:database-update
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
|
`Housekeeping`
|
||||||
|
|
||||||
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
|
<Aside>
|
||||||
|
|
||||||
|
Releases may come with additional update instructions (see
|
||||||
|
[releases page](https://code.castopod.org/adaures/castopod/-/releases)).
|
||||||
|
|
||||||
|
- cf.
|
||||||
|
[I haven't updated my instance in a long time… What should I do?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
|
||||||
|
|
||||||
|
</Aside>
|
||||||
|
|
||||||
|
## Fully Automated updates
|
||||||
|
|
||||||
|
> Coming soon... 👀
|
||||||
|
|
||||||
|
## Frequently asked questions (FAQ)
|
||||||
|
|
||||||
|
### Where can I find my Castopod version?
|
||||||
|
|
||||||
|
Go to your Castopod admin panel, the version is displayed on the bottom left
|
||||||
|
corner.
|
||||||
|
|
||||||
|
Alternatively, you can find the version in the `app > Config > Constants.php`
|
||||||
|
file.
|
||||||
|
|
||||||
|
### I haven't updated my instance in a long time… What should I do?
|
||||||
|
|
||||||
|
No problem! Just get the latest release as described above. Only, when going
|
||||||
|
through the release instructions (4), perform them sequentially, from the oldest
|
||||||
|
to the newest.
|
||||||
|
|
||||||
|
> You may want to backup your instance depending on how long you haven't updated
|
||||||
|
> Castopod.
|
||||||
|
|
||||||
|
For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to
|
||||||
|
`v1.0.0-beta.1`:
|
||||||
|
|
||||||
|
0. (highly recommended) Make a backup of your files and database.
|
||||||
|
|
||||||
|
1. Download the latest release, overwrite your files whilst keeping `.env` and
|
||||||
|
`public/media`.
|
||||||
|
|
||||||
|
2. Go through each release update instructions sequentially (from oldest to
|
||||||
|
newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
||||||
|
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
||||||
|
|
||||||
|
3. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
|
### Should I make a backup before updating?
|
||||||
|
|
||||||
|
We advise you do, so you don't lose everything if anything goes wrong!
|
||||||
|
|
||||||
|
More generally, we advise you make regular backups of your Castopod files and
|
||||||
|
database to prevent you from losing it all…
|
194
docs/src/content/docs/fr-ca/index.mdx
Normal file
194
docs/src/content/docs/fr-ca/index.mdx
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
---
|
||||||
|
title: Welcome 👋
|
||||||
|
---
|
||||||
|
|
||||||
|
import { LinkCard } from "@astrojs/starlight/components";
|
||||||
|
|
||||||
|
Castopod is a free & open-source hosting platform made for podcasters who want
|
||||||
|
engage and interact with their audience.
|
||||||
|
|
||||||
|
Castopod is easy to install and was built on top of
|
||||||
|
[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very
|
||||||
|
small footprint.
|
||||||
|
|
||||||
|
<LinkCard title="Install" href="./getting-started/install" />
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- 🌱 Free & open-source (AGPL v3 License)
|
||||||
|
- 🔐 Focused on data sovereignty: your content, audience, and analytics
|
||||||
|
belong to you, and you only
|
||||||
|
- 🪄 Podcasting 2.0 features: GUID, locked, transcripts, funding,
|
||||||
|
chapters, location, persons, soundbites, …
|
||||||
|
- 💬 Built-in social network:
|
||||||
|
- 🚀 Castopod is part of the Fediverse, a decentralized social network
|
||||||
|
- ❤️ Create posts, share, favourite, and comment on episodes
|
||||||
|
- 📈 Built-in analytics:
|
||||||
|
- ⚖️ GDPR / CCPA / LGPD compliant
|
||||||
|
- 🪙 Standard IABv2 audience measurement
|
||||||
|
- 🏡 On-premises analytics, no third party involved
|
||||||
|
- 📢 Built-in marketing tools:
|
||||||
|
- ✅ SEO ready (open-graph meta-tags, JSON-LD, …)
|
||||||
|
- 📱 PWA: install as a standalone app
|
||||||
|
- 🎨 Customizable theme colors
|
||||||
|
- 🎬 Generate ready-to-share Video clips from episodes
|
||||||
|
- 🔉 Generate soundbites
|
||||||
|
- ▶️ Embeddable player, embed your episodes on any website
|
||||||
|
- 💸 Monetization:
|
||||||
|
- 🔗 Funding links
|
||||||
|
- 📲 listen-to-click ads
|
||||||
|
- 🤝 value4value / WebMonetization
|
||||||
|
- 💎 Premium podcasts
|
||||||
|
- 📡 Publish your episodes everywhere with RSS:
|
||||||
|
- 📱 On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
|
||||||
|
Google Podcasts, Deezer, Podcast Addict, Podfriend, …
|
||||||
|
- ⚡ Broadcast your episodes instantly with WebSub
|
||||||
|
- 📥 Podcast import: move your existing podcast into Castopod
|
||||||
|
- 📤 Move your podcast out of Castopod
|
||||||
|
- 🔀 Multi-tenant: host as many podcasts as you want
|
||||||
|
- 👥 Multi-user: add contributors and set roles
|
||||||
|
- 🌎 i18n support: translated in English, French, Polish, German,
|
||||||
|
Brazilian Portuguese, Spanish, simplified Chinese… and
|
||||||
|
[many more](https://translate.castopod.org)!
|
||||||
|
|
||||||
|
## Motivation
|
||||||
|
|
||||||
|
The podcasting ecosystem is decentralized by nature: you can create your podcast
|
||||||
|
as an RSS file, publish it on the web and have it shared everywhere online.
|
||||||
|
|
||||||
|
It is in fact one of the only media to have stayed this way for a long time.
|
||||||
|
|
||||||
|
As usages are evolving, more and more people are getting into podcasts: whether
|
||||||
|
it is creators finding new ways to share their ideas, or listeners in the search
|
||||||
|
for better content.
|
||||||
|
|
||||||
|
With podcasting becoming more widely used, some companies are trying to shift it
|
||||||
|
towards a more controlled and centralized medium.
|
||||||
|
|
||||||
|
Castopod was created in an effort to provide an open and sustainable alternative
|
||||||
|
to hosting your podcasts, promoting decentralization to ensure that podcasters
|
||||||
|
creativity can express itself.
|
||||||
|
|
||||||
|
This project is pushed by the open-source community, and specifically by the
|
||||||
|
[Fediverse](https://fediverse.party/en/fediverse/) and
|
||||||
|
[Podcasting 2.0](https://podcastindex.org/) movements.
|
||||||
|
|
||||||
|
## Comparison with other solutions
|
||||||
|
|
||||||
|
We believe that a solution is not necessarily right for everyone, it highly
|
||||||
|
depends on your needs. So, here are comparisons with other tools to help you to
|
||||||
|
gauge whether Castopod is the right fit for you.
|
||||||
|
|
||||||
|
### Castopod vs Wordpress
|
||||||
|
|
||||||
|
Castopod is often referred to as "the Wordpress for podcasts" because of the
|
||||||
|
similarities between the two. In some ways this is true. And actually, Castopod
|
||||||
|
was greatly inspired by the Wordpress ecosystem, seeing the ease of adoption
|
||||||
|
from the community and the number of websites running it.
|
||||||
|
|
||||||
|
Just like Wordpress, Castopod is free & open source, built using PHP with a
|
||||||
|
MySQL database and is packaged in a way that you can easily install on most web
|
||||||
|
servers.
|
||||||
|
|
||||||
|
Wordpress is a great way to create your website and extend it with plugins to
|
||||||
|
get what you want. It is a full fledged CMS that helps you get any type of
|
||||||
|
website online.
|
||||||
|
|
||||||
|
On the other hand, Castopod is meant to address the podcasters needs
|
||||||
|
specifically, focusing on podcasting, and nothing else. You don't need any
|
||||||
|
plugin to get you started on your podcasting journey.
|
||||||
|
|
||||||
|
This allows optimizing the processes specific to podcasting: ranging from the
|
||||||
|
creation of your podcasts and the publication of new episodes all the way to
|
||||||
|
broadcasting, marketing and analytics.
|
||||||
|
|
||||||
|
Finally, depending on your needs, Wordpress and Castopod can even live side by
|
||||||
|
side as they share the same requirements!
|
||||||
|
|
||||||
|
### Castopod vs Funkwhale
|
||||||
|
|
||||||
|
Funkwhale is a self-hosted, modern free and open-source music server. Just as
|
||||||
|
Castopod, Funkwhale is on the fediverse, a decentralized social network allowing
|
||||||
|
interoperability between the two.
|
||||||
|
|
||||||
|
Funkwhale was initially built around music. And later on, as the project
|
||||||
|
evolved, the ability to host podcasts was introduced.
|
||||||
|
|
||||||
|
Unlike Funkwhale, Castopod has been designed and built around podcasting
|
||||||
|
exclusively. This allows easier implementation for features related to the
|
||||||
|
podcasting ecosystem, such as the podcasting 2.0 features (transcripts,
|
||||||
|
chapters, locations, persons, …).
|
||||||
|
|
||||||
|
So, you should probably use Funkwhale if you want to host your music, and use
|
||||||
|
Castopod if you want to host your podcasts.
|
||||||
|
|
||||||
|
### Castopod vs other podcast hosts
|
||||||
|
|
||||||
|
There are many solutions for you to host your podcasts, some of which are really
|
||||||
|
great and [a lot of them](https://podcastindex.org/apps) are jumping into the
|
||||||
|
Podcasting 2.0 wagon just like Castopod!
|
||||||
|
|
||||||
|
Each of these solutions differ from one another, you may compare with the
|
||||||
|
[list of features](#features).
|
||||||
|
|
||||||
|
That being said, there are two main differences with other podcasting solutions:
|
||||||
|
|
||||||
|
- Castopod can be self-hosted and is the only solution that allows you to keep
|
||||||
|
full control over what you produce. Also, as it is open-source, you can even
|
||||||
|
customize it as you wish.
|
||||||
|
|
||||||
|
- Castopod is the only solution that currently integrates both a decentralized
|
||||||
|
social network with ActivityPub as well as many of the podcasting 2.0
|
||||||
|
features, hoping to bridge the gap between the two.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Love Castopod and would like to help? Take a look at the following documentation
|
||||||
|
to get you started.
|
||||||
|
|
||||||
|
### Code of conduct
|
||||||
|
|
||||||
|
Castopod has adopted a Code of Conduct that we expect project participants to
|
||||||
|
adhere to. Please read the
|
||||||
|
[CODE_OF_CONDUCT manual](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
|
||||||
|
so that you can understand what actions will and will not be tolerated.
|
||||||
|
|
||||||
|
### Contributing guide
|
||||||
|
|
||||||
|
Read our
|
||||||
|
[contributing guide](https://code.castopod.org/adaures/castopod/-/blob/develop/CONTRIBUTING.md)
|
||||||
|
to learn about our development process, how to propose bugfixes and
|
||||||
|
improvements, and how to build and test your changes to Castopod.
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
|
||||||
|
You may reach us for help or ask any question you have on:
|
||||||
|
|
||||||
|
- [Discord](https://castopod.org/discord) (for direct interaction with
|
||||||
|
developers and the community)
|
||||||
|
- [Issue tracker](https://code.castopod.org/adaures/castopod/-/issues) (for
|
||||||
|
feature requests & bug reports)
|
||||||
|
|
||||||
|
Alternatively, you can follow us on social media platforms to get news about
|
||||||
|
Castopod:
|
||||||
|
|
||||||
|
- [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance)
|
||||||
|
- [Twitter](https://twitter.com/castopod)
|
||||||
|
- [LinkedIn](https://linkedin.com/company/castopod)
|
||||||
|
- [Facebook](https://www.facebook.com/castopod)
|
||||||
|
|
||||||
|
## Sponsors
|
||||||
|
|
||||||
|
The ongoing development of Castopod is made possible with the support of its
|
||||||
|
backers. If you'd like to help, please consider
|
||||||
|
[sponsoring Castopod's development](https://opencollective.com/castopod/contribute).
|
||||||
|
|
||||||
|
[![Ad Aures Logo](../../../assets/images/sponsors/adaures.svg)](https://adaures.com/)
|
||||||
|
|
||||||
|
[![NLnet Logo](../../../assets/images/sponsors/nlnet.svg)](https://nlnet.nl/)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
|
||||||
|
|
||||||
|
Copyright © 2020-present, [Ad Aures](https://adaures.com/).
|
@ -11,21 +11,21 @@ autorisations sont définis sur deux niveaux :
|
|||||||
|
|
||||||
## 1. Rôles et autorisations à l'échelle de l'instance
|
## 1. Rôles et autorisations à l'échelle de l'instance
|
||||||
|
|
||||||
### Rôles dans l’instance
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| -------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| -------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
| Super administrat·rice·eur | A un contrôle complet sur Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
|
| Super administrat·rice·eur | A un contrôle complet sur Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
|
||||||
| Gestionnaire | Gère le contenu de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Gestionnaire | Gère le contenu de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcast·rice·eur | Utilisateurs généraux de Castopod. | admin.access |
|
| Podcaster | Utilisateurs généraux de Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Autorisations dans l'instance
|
### Autorisations dans l'instance
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | -------------------------------------------------------------------- |
|
| ----------------------- | -------------------------------------------------------------------- |
|
||||||
@ -39,13 +39,13 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| podcasts.import | Peut importer des podcasts. |
|
| podcasts.import | Peut importer des podcasts. |
|
||||||
| fediverse.manage-blocks | Peut empêcher des act·rice·eur·s/domaines d'interagir avec Castopod. |
|
| fediverse.manage-blocks | Peut empêcher des act·rice·eur·s/domaines d'interagir avec Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Rôles et autorisations par podcast
|
## 2. Rôles et autorisations par podcast
|
||||||
|
|
||||||
### Rôles par podcast
|
### Rôles par podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ---------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| Auteur / Autrice | Gère le contenu du podcast #\{id\} , mais ne peut pas le publier. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Auteur / Autrice | Gère le contenu du podcast #\{id\} , mais ne peut pas le publier. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Invité | Contributeur général du podcast #\{id\}. | view, episodes.view |
|
| Invité | Contributeur général du podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permissions par podcast
|
### Permissions par podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| episodes.manage-publications | Peut publier/dépublier des épisodes et des messages de podcast #\{id\}. |
|
| episodes.manage-publications | Peut publier/dépublier des épisodes et des messages de podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Peut créer/supprimer les commentaires de l'épisode du podcast #\{id\}. |
|
| episodes.manage-comments | Peut créer/supprimer les commentaires de l'épisode du podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||||||
|
|
||||||
1. Installez [docker](https://docs.docker.com/get-docker/) et
|
1. Installez [docker](https://docs.docker.com/get-docker/) et
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Créez un fichier `docker-compose.yml` avec les éléments suivants :
|
2. Créez un fichier `docker-compose.yml` avec les éléments suivants :
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -111,7 +112,7 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||||||
|
|
||||||
- **castopod/castopod** and **castopod/app**
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
| Nom de la variable | Type (`default`) | Par défaut |
|
| Variable name | Type (`default`) | Par défaut |
|
||||||
| ------------------------------------- | ----------------------- | ---------------- |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | string | `undefined` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
|
@ -8,15 +8,6 @@ Castopod a été pensé pour être facile à installer. Que vous utilisiez un
|
|||||||
hébergement dédié ou mutualisé, vous pouvez l'installer sur la plupart des
|
hébergement dédié ou mutualisé, vous pouvez l'installer sur la plupart des
|
||||||
serveurs web compatibles avec PHP-MySQL.
|
serveurs web compatibles avec PHP-MySQL.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
Nous avons publié des images officielles Docker pour Castopod!
|
|
||||||
|
|
||||||
Si vous préférez utiliser Docker, vous pouvez sauter cette partie et aller
|
|
||||||
directement à la [documentation Docker](./docker.md) pour Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Prérequis
|
## Prérequis
|
||||||
|
|
||||||
- PHP v8.1 ou supérieure
|
- PHP v8.1 ou supérieure
|
||||||
@ -124,6 +115,7 @@ le fichier `.env` manuellement en vous appuyant sur le fichier `.env.example`.
|
|||||||
|
|
||||||
1. Créez un fichier `.env` à la racine du paquet basé sur le fichier
|
1. Créez un fichier `.env` à la racine du paquet basé sur le fichier
|
||||||
`.env.example`.
|
`.env.example`.
|
||||||
|
|
||||||
2. Initialisez la base de données en exécutant :
|
2. Initialisez la base de données en exécutant :
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -201,7 +193,7 @@ media.s3.region="your_s3_region"
|
|||||||
|
|
||||||
#### Options de configuration S3
|
#### Options de configuration S3
|
||||||
|
|
||||||
| Nom de la variable | Type | Par défaut |
|
| Variable name | Type | Default |
|
||||||
| ----------------------- | ------- | ----------- |
|
| ----------------------- | ------- | ----------- |
|
||||||
| **`endpoint`** | string | `undefined` |
|
| **`endpoint`** | string | `undefined` |
|
||||||
| **`key`** | string | `undefined` |
|
| **`key`** | string | `undefined` |
|
||||||
|
@ -39,7 +39,8 @@ corrections de bugs 🐛 et des améliorations de performance ⚡.
|
|||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
Vous devrez peut-être re-définir les autorisations de fichiers comme
|
Vous devrez peut-être re-définir les autorisations de fichiers comme
|
||||||
effectué durant le processus d'installation. Vérifiez les
|
effectué durant le processus d'installation.
|
||||||
|
Vérifiez les
|
||||||
[questions de sécurité](./security.md).
|
[questions de sécurité](./security.md).
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
@ -53,6 +54,7 @@ corrections de bugs 🐛 et des améliorations de performance ⚡.
|
|||||||
|
|
||||||
5. Videz votre cache de votre `Administrateur Castopod` > `Paramètres` >
|
5. Videz votre cache de votre `Administrateur Castopod` > `Paramètres` >
|
||||||
`Général` > `Foyer`
|
`Général` > `Foyer`
|
||||||
|
|
||||||
6. ✨Profitez de votre nouvelle instance, vous avez terminé !
|
6. ✨Profitez de votre nouvelle instance, vous avez terminé !
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
@ -61,8 +63,7 @@ Les versions peuvent être accompagnées d'instructions de mise à jour
|
|||||||
supplémentaires (cf. la
|
supplémentaires (cf. la
|
||||||
[page des notes de versions](https://code.castopod.org/adaures/castopod/-/releases)).
|
[page des notes de versions](https://code.castopod.org/adaures/castopod/-/releases)).
|
||||||
|
|
||||||
- cf. Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire
|
- [Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
|
||||||
?
|
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
@ -80,7 +81,9 @@ bas à gauche.
|
|||||||
Vous pouvez également trouver la version dans l'application
|
Vous pouvez également trouver la version dans l'application
|
||||||
`> Configuration > Constantes.php` dossier.
|
`> Configuration > Constantes.php` dossier.
|
||||||
|
|
||||||
### [Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
|
### cf. Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire
|
||||||
|
|
||||||
|
?
|
||||||
|
|
||||||
Pas de problème ! Il suffit d'obtenir la dernière version comme décrit
|
Pas de problème ! Il suffit d'obtenir la dernière version comme décrit
|
||||||
ci-dessus. Lorsque vous exécutez les instructions de mise à jour (4), lancez-les
|
ci-dessus. Lorsque vous exécutez les instructions de mise à jour (4), lancez-les
|
||||||
@ -98,8 +101,9 @@ la `v1.0.0-beta.1` :
|
|||||||
1. Téléchargez la dernière version, écrasez vos fichiers tout en conservant
|
1. Téléchargez la dernière version, écrasez vos fichiers tout en conservant
|
||||||
`.env` et `public/media`.
|
`.env` et `public/media`.
|
||||||
|
|
||||||
2. Effectuez les instructions de mise à jour l'une après l'autre (de la plus
|
2. Go through each release update instructions sequentially (from oldest to
|
||||||
ancienne à la plus récente).
|
newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
||||||
|
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
||||||
|
|
||||||
3. ✨ Votre nouvelle instance est prête !
|
3. ✨ Votre nouvelle instance est prête !
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -11,9 +11,9 @@ autorisations sont définis sur deux niveaux :
|
|||||||
|
|
||||||
## 1. Rôles et autorisations à l'échelle de l'instance
|
## 1. Rôles et autorisations à l'échelle de l'instance
|
||||||
|
|
||||||
### Rôles dans l’instance
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +21,11 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Autorisations dans l'instance
|
### Autorisations dans l'instance
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -39,13 +39,13 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Rôles et autorisations par podcast
|
## 2. Rôles et autorisations par podcast
|
||||||
|
|
||||||
### Rôles par podcast
|
### Rôles par podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permissions par podcast
|
### Permissions par podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ autorisations sont définis sur deux niveaux :
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||||||
|
|
||||||
1. Installez [docker](https://docs.docker.com/get-docker/) et
|
1. Installez [docker](https://docs.docker.com/get-docker/) et
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Créez un fichier `docker-compose.yml` avec les éléments suivants :
|
2. Créez un fichier `docker-compose.yml` avec les éléments suivants :
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
@ -111,7 +112,7 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||||||
|
|
||||||
- **castopod/castopod** and **castopod/app**
|
- **castopod/castopod** and **castopod/app**
|
||||||
|
|
||||||
| Nom de la variable | Type (`default`) | Par défaut |
|
| Variable name | Type (`default`) | Par défaut |
|
||||||
| ------------------------------------- | ----------------------- | ---------------- |
|
| ------------------------------------- | ----------------------- | ---------------- |
|
||||||
| **`CP_BASEURL`** | string | `undefined` |
|
| **`CP_BASEURL`** | string | `undefined` |
|
||||||
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
|
||||||
|
@ -8,15 +8,6 @@ Castopod a été pensé pour être facile à installer. Que vous utilisiez un
|
|||||||
hébergement dédié ou mutualisé, vous pouvez l'installer sur la plupart des
|
hébergement dédié ou mutualisé, vous pouvez l'installer sur la plupart des
|
||||||
serveurs web compatibles avec PHP-MySQL.
|
serveurs web compatibles avec PHP-MySQL.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
Nous avons publié des images officielles Docker pour Castopod!
|
|
||||||
|
|
||||||
Si vous préférez utiliser Docker, vous pouvez sauter cette partie et aller
|
|
||||||
directement à la [documentation Docker](./docker.md) pour Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Prérequis
|
## Prérequis
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -109,7 +100,7 @@ installées :
|
|||||||
d'assistant d'installation (`https://votre_domain_name.com/cp-install`) dans
|
d'assistant d'installation (`https://votre_domain_name.com/cp-install`) dans
|
||||||
votre navigateur Web favori.
|
votre navigateur Web favori.
|
||||||
2. Suivez les instructions affichée.
|
2. Suivez les instructions affichée.
|
||||||
3. Commencer à baladodiffuser !
|
3. Start podcasting!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
@ -122,6 +113,7 @@ le fichier `.env` manuellement en vous appuyant sur le fichier `.env.example`.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -38,7 +38,8 @@ corrections de bugs 🐛 et des améliorations de performance ⚡.
|
|||||||
<Aside>
|
<Aside>
|
||||||
|
|
||||||
Vous devrez peut-être re-définir les autorisations de fichiers comme
|
Vous devrez peut-être re-définir les autorisations de fichiers comme
|
||||||
effectué durant le processus d'installation. Check
|
effectué durant le processus d'installation.
|
||||||
|
Check
|
||||||
[Security Concerns](./security.md).
|
[Security Concerns](./security.md).
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
@ -52,6 +53,7 @@ corrections de bugs 🐛 et des améliorations de performance ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨Profitez de votre nouvelle instance, vous avez terminé !
|
6. ✨Profitez de votre nouvelle instance, vous avez terminé !
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
@ -60,7 +62,7 @@ Les versions peuvent être accompagnées d'instructions de mise à jour
|
|||||||
supplémentaires (cf. la
|
supplémentaires (cf. la
|
||||||
[page des notes de versions](https://code.castopod.org/adaures/castopod/-/releases)).
|
[page des notes de versions](https://code.castopod.org/adaures/castopod/-/releases)).
|
||||||
|
|
||||||
- Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?
|
- [Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
@ -78,7 +80,7 @@ bas à gauche.
|
|||||||
Vous pouvez également trouver la version dans l'application
|
Vous pouvez également trouver la version dans l'application
|
||||||
`> Configuration > Constantes.php` dossier.
|
`> Configuration > Constantes.php` dossier.
|
||||||
|
|
||||||
### [Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
|
### Je n'ai pas mis à jour mon instance depuis longtemps… Que devrais-je faire ?
|
||||||
|
|
||||||
Pas de problème ! Il suffit d'obtenir la dernière version comme décrit
|
Pas de problème ! Il suffit d'obtenir la dernière version comme décrit
|
||||||
ci-dessus. Lorsque vous exécutez les instructions de mise à jour (4), lancez-les
|
ci-dessus. Lorsque vous exécutez les instructions de mise à jour (4), lancez-les
|
||||||
@ -96,8 +98,9 @@ la `v1.0.0-beta.1` :
|
|||||||
1. Téléchargez la dernière version, écrasez vos fichiers tout en conservant
|
1. Téléchargez la dernière version, écrasez vos fichiers tout en conservant
|
||||||
`.env` et `public/media`.
|
`.env` et `public/media`.
|
||||||
|
|
||||||
2. Effectuez les instructions de mise à jour l'une après l'autre (de la plus
|
2. Go through each release update instructions sequentially (from oldest to
|
||||||
ancienne à la plus récente).
|
newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`,
|
||||||
|
`v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
|
||||||
|
|
||||||
3. ✨ Votre nouvelle instance est prête !
|
3. ✨ Votre nouvelle instance est prête !
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| --------------- | --------------------------------------- | ------------------------------------------------------------------------------------------ |
|
| --------------- | --------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manaidsear | Stiùireadh susbaint Chastopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manaidsear | Stiùireadh susbaint Chastopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Pod-chraoladair | Luchd-cleachdaidh coitcheann Chastopod. | admin.access |
|
| Pod-chraoladair | Luchd-cleachdaidh coitcheann Chastopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | --------------------------------------------------------------------------------------------- |
|
| ----------------------- | --------------------------------------------------------------------------------------------- |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | ’S urrainn dhaibh pod-chraolaidhean ion-phortadh. |
|
| podcasts.import | ’S urrainn dhaibh pod-chraolaidhean ion-phortadh. |
|
||||||
| fediverse.manage-blocks | ’S urrainn dhaibh actairean/àrainnean a cho-shaoghail a bhacadh o eadar-ghabhail le Castopod. |
|
| fediverse.manage-blocks | ’S urrainn dhaibh actairean/àrainnean a cho-shaoghail a bhacadh o eadar-ghabhail le Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| --------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Ùghdar | A’ stiùireadh susbaint a’ phod-chraolaidh #\{id\} ach gun chomas foillseachaidh. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Ùghdar | A’ stiùireadh susbaint a’ phod-chraolaidh #\{id\} ach gun chomas foillseachaidh. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Aoigh | Neach-cuideachaidh a’ phod-chraolaidh #\{id\}. | view, episodes.view |
|
| Aoigh | Neach-cuideachaidh a’ phod-chraolaidh #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | ’S urrainn dhaibh eapasodan is postaichean a’ phod-chraolaidh #\{id\} fhoillseachadh/neo-fhoillseachadh. |
|
| episodes.manage-publications | ’S urrainn dhaibh eapasodan is postaichean a’ phod-chraolaidh #\{id\} fhoillseachadh/neo-fhoillseachadh. |
|
||||||
| episodes.manage-comments | ’S urrainn dhaibh beachdan air eapasod a’ phod-chraolaidh #\{id\} a chruthachadh/a thoirt air falbh. |
|
| episodes.manage-comments | ’S urrainn dhaibh beachdan air eapasod a’ phod-chraolaidh #\{id\} a chruthachadh/a thoirt air falbh. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ------------------------------------ | ------------------------------------------------------------------------------------------ |
|
| ----------- | ------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Xestora | Quen xestiona o contido de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Xestora | Quen xestiona o contido de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | Usuaria común de Castopod. | admin.access |
|
| Podcaster | Usuaria común de Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Pode importar podcasts. |
|
| podcasts.import | Pode importar podcasts. |
|
||||||
| fediverse.manage-blocks | Pode bloquear actores/dominios do fediverso evitando interactuar con Castopod. |
|
| fediverse.manage-blocks | Pode bloquear actores/dominios do fediverso evitando interactuar con Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| --------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Autora | Persoa que xestiona o contido do podcast #\{id\} pero non pode publicalo. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Autora | Persoa que xestiona o contido do podcast #\{id\} pero non pode publicalo. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Convidada | Contribuínte básico ao podcast #\{id\}. | view, episodes.view |
|
| Convidada | Contribuínte básico ao podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | ----------------------------------------------------------------------------------------- |
|
| ---------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Pode publicar/retirar episodios e publicacións do podcast #\{id\}. |
|
| episodes.manage-publications | Pode publicar/retirar episodios e publicacións do podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Pode crear/eliminar comentarios dos episodios do podcast #\{id\}. |
|
| episodes.manage-comments | Pode crear/eliminar comentarios dos episodios do podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -11,9 +11,9 @@ definiti a due livelli:
|
|||||||
|
|
||||||
## 1. Ruoli e permessi per l'intera istanza
|
## 1. Ruoli e permessi per l'intera istanza
|
||||||
|
|
||||||
### Ruoli dell'istanza
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -21,11 +21,11 @@ definiti a due livelli:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Permessi istanza
|
### Permessi istanza
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -39,13 +39,13 @@ definiti a due livelli:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per i ruoli e le autorizzazioni del podcast
|
## 2. Per i ruoli e le autorizzazioni del podcast
|
||||||
|
|
||||||
### Per i ruoli del podcast
|
### Per i ruoli del podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -54,11 +54,11 @@ definiti a due livelli:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Autorizzazioni per podcast
|
### Autorizzazioni per podcast
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -82,4 +82,4 @@ definiti a due livelli:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -117,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
|
|
||||||
### Instance roles
|
### Instance roles
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage |
|
||||||
| Podcaster | General users of Castopod. | admin.access |
|
| Podcaster | General users of Castopod. | admin.access |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-ROLES-LIST:END */}
|
{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Instance permissions
|
### Instance permissions
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ----------------------- | ------------------------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------------------------ |
|
||||||
@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| podcasts.import | Can import podcasts. |
|
| podcasts.import | Can import podcasts. |
|
||||||
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. |
|
||||||
|
|
||||||
{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
|
{/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/}
|
||||||
|
|
||||||
## 2. Per podcast roles and permissions
|
## 2. Per podcast roles and permissions
|
||||||
|
|
||||||
### Per podcast roles
|
### Per podcast roles
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| role | description | permissions |
|
| role | description | permissions |
|
||||||
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
| Author | Manages content of podcast #\{id\} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
|
||||||
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-ROLES-LIST:END */}
|
{/_ AUTH-PODCAST-ROLES-LIST:END _/}
|
||||||
|
|
||||||
### Per podcast permissions
|
### Per podcast permissions
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/}
|
||||||
|
|
||||||
| permission | description |
|
| permission | description |
|
||||||
| ---------------------------- | -------------------------------------------------------------------------- |
|
| ---------------------------- | -------------------------------------------------------------------------- |
|
||||||
@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
|
|||||||
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
| episodes.manage-publications | Can publish/unpublish episodes and posts of podcast #\{id\}. |
|
||||||
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
| episodes.manage-comments | Can create/remove episode comments of podcast #\{id\}. |
|
||||||
|
|
||||||
{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
|
{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
|
||||||
|
@ -26,6 +26,7 @@ can be added as a cache handler.
|
|||||||
|
|
||||||
1. Install [docker](https://docs.docker.com/get-docker/) and
|
1. Install [docker](https://docs.docker.com/get-docker/) and
|
||||||
[docker-compose](https://docs.docker.com/compose/install/)
|
[docker-compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
2. Create a `docker-compose.yml` file with the following:
|
2. Create a `docker-compose.yml` file with the following:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
@ -7,15 +7,6 @@ import { Aside } from "@astrojs/starlight/components";
|
|||||||
Castopod was thought-out to be easy to install. Whether using dedicated or
|
Castopod was thought-out to be easy to install. Whether using dedicated or
|
||||||
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
||||||
|
|
||||||
<Aside>
|
|
||||||
|
|
||||||
We've released official Docker images for Castopod!
|
|
||||||
|
|
||||||
If you prefer using Docker, you may skip this and go straight to the
|
|
||||||
[docker documentation](./docker.md) for Castopod.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.1 or higher
|
||||||
@ -45,14 +36,6 @@ Additionally, make sure that the following extensions are enabled in your PHP:
|
|||||||
|
|
||||||
> We recommend using [MariaDB](https://mariadb.org).
|
> We recommend using [MariaDB](https://mariadb.org).
|
||||||
|
|
||||||
<Aside type="caution">
|
|
||||||
|
|
||||||
Castopod only works with supported MySQL 5.7 or higher compatible databases. It
|
|
||||||
will break with the previous MySQL v5.6 for example as its end of life was on
|
|
||||||
February 5, 2021.
|
|
||||||
|
|
||||||
</Aside>
|
|
||||||
|
|
||||||
You will need the server hostname, database name, username and password to
|
You will need the server hostname, database name, username and password to
|
||||||
complete the installation process. If you do not have these, please contact your
|
complete the installation process. If you do not have these, please contact your
|
||||||
server administrator.
|
server administrator.
|
||||||
@ -125,6 +108,7 @@ based on the `.env.example` file.
|
|||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
1. Create a `.env` file in the package root based on the `.env.example` file.
|
1. Create a `.env` file in the package root based on the `.env.example` file.
|
||||||
|
|
||||||
2. Initialize the database using:
|
2. Initialize the database using:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -51,6 +51,7 @@ improvements ⚡.
|
|||||||
|
|
||||||
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
|
||||||
`Housekeeping`
|
`Housekeeping`
|
||||||
|
|
||||||
6. ✨ Enjoy your fresh instance, you're all done!
|
6. ✨ Enjoy your fresh instance, you're all done!
|
||||||
|
|
||||||
<Aside>
|
<Aside>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user