@@ -236,7 +219,7 @@ upravlja teškoćama samo-hostovanje za vas.
>

diff --git a/docs/src/content/docs/sr-latn/getting-started/update.mdx b/docs/src/content/docs/sr-latn/getting-started/update.mdx
index d1ceb313..9f18d222 100644
--- a/docs/src/content/docs/sr-latn/getting-started/update.mdx
+++ b/docs/src/content/docs/sr-latn/getting-started/update.mdx
@@ -37,8 +37,8 @@ bagovima 🐛 i unapređenim performansama ⚡.
@@ -50,6 +50,7 @@ bagovima 🐛 i unapređenim performansama ⚡.
```
5. Očistite keš iz `Castopod Admin` > `Settings` > `general` > `Housekeeping`
+
6. ✨ Uživajte u svežoj instanci, završili ste!
## Potpuno automatsko ažuriranje
-> Stiže uskoro... 👀
+> Coming soon... 👀
## Često postavljana pitanja (česta pitanja)
@@ -75,11 +76,11 @@ donjem levom uglu.
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,
-kada idete kroz uputstva izdanja (4), izvodite ih jedno za drugim, od
-najstarijih do najnovijih.
+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.
> Možda ćete želeti da napravite rezervnu kopiju instance u zavisnosti od toga
> koliko dugo niste ažurirali Castopod.
diff --git a/docs/src/content/docs/sr-latn/index.mdx b/docs/src/content/docs/sr-latn/index.mdx
index 3ab5bbe8..2fdbd1e0 100644
--- a/docs/src/content/docs/sr-latn/index.mdx
+++ b/docs/src/content/docs/sr-latn/index.mdx
@@ -18,39 +18,39 @@ otiskom (footprint).
- 🌱 Besplatan i otvorenog koda (AGPL v3 License)
- 🔐 Fokusiran an suverenitet podataka: vaš sadržaj, publika i analitika pripada
vama i samo vama
-- 🪄 Podkasting 2.0 funkcionalnosti: GUID, zaključan, transkripti,
+- 🪄 Podkasting 2.0 funkcionalnosti: GUID, zaključan, transkripti,
podrška, poglavlja, lokacija, posobe, zvučni isečci, …
-- 💬 Ugrađena društvena mreža:
- - 🚀 Castopod je deo Fediversa, decentralizovane društvene mreže
- - ❤️ Napravite objave, delite, dodajte u omiljene i komentarišite
+- 💬 Ugrađena društvena mreža:
+ - 🚀 Castopod je deo Fediversa, decentralizovane društvene mreže
+ - ❤️ Napravite objave, delite, dodajte u omiljene i komentarišite
epizode
-- 📈 Ugrađena analitika:
- - ⚖️ U skladu sa GDPR / CCPA / LGPD
- - 🪙 Merenje publike putem IABv2 standarda
- - 🏡 Analitika na licu mesta, bez uključenosti trećih strana
-- 📢 Ugrađeni marketinški alati:
- - ✅ SEO spremno (open-graph meta-tags, JSON-LD, …)
- - 📱 PWA: instalirajte kao samostojeću aplikaciju
- - 🎨 Prilagodljive boje teme
- - 🎬 Napravite video isečke iz epizoda koji su spremni za deljenje
- - 🔉 Napravite audio isečke
- - ▶️ Plejer koji možete koristiti na svom sajtu (embed)
-- 💸 Monetizacija:
- - 🔗 Linkovi za podršku publike
- - 📲 Slušaj i klikni reklame
- - 🤝 value4value / Veb Monetizacija
- - 💎 Premijum podkasti
-- 📡 Objavite svoje epizode svugde uz RSS:
- - 📱 Na svim agregatorima i aplikacijama: Podcast Index, Apple Podcasts,
+- 📈 Ugrađena analitika:
+ - ⚖️ U skladu sa GDPR / CCPA / LGPD
+ - 🪙 Merenje publike putem IABv2 standarda
+ - 🏡 Analitika na licu mesta, bez uključenosti trećih strana
+- 📢 Ugrađeni marketinški alati:
+ - ✅ SEO spremno (open-graph meta-tags, JSON-LD, …)
+ - 📱 PWA: instalirajte kao samostojeću aplikaciju
+ - 🎨 Prilagodljive boje teme
+ - 🎬 Napravite video isečke iz epizoda koji su spremni za deljenje
+ - 🔉 Napravite audio isečke
+ - ▶️ Plejer koji možete koristiti na svom sajtu (embed)
+- 💸 Monetizacija:
+ - 🔗 Linkovi za podršku publike
+ - 📲 Slušaj i klikni reklame
+ - 🤝 value4value / Veb Monetizacija
+ - 💎 Premijum podkasti
+- 📡 Objavite svoje epizode svugde uz RSS:
+ - 📱 Na svim agregatorima i aplikacijama: Podcast Index, Apple Podcasts,
Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- - ⚡ Emitujte svoje epizode instant uz WebSub
-- 📥 Uvoz podkasta: prebacite svoj postojeći podkast na Castopod
-- 📤 Prebacite svoj podkast sa Castopod-a
-- 🔀 Mreža: hostujte koliko god želite podkasta
-- 👥 Više korisnika: dodajte saradnike i odredite njihove uloge
-- 🌎 i18n podrška: prevedeno na engleski, francuski, poljski, nemački,
- brazilski portugalski, španski…
- [još jezika uskoro](https://translate.castopod.org)!
+ - ⚡ Emitujte svoje epizode instant uz WebSub
+- 📥 Uvoz podkasta: prebacite svoj postojeći podkast na Castopod
+- 📤 Prebacite svoj podkast sa Castopod-a
+- 🔀 Mreža: hostujte koliko god želite podkasta
+- 👥 Više korisnika: dodajte saradnike i odredite njihove uloge
+- 🌎 i18n support: translated in English, French, Polish, German,
+ Brazilian Portuguese, Spanish, simplified Chinese… and
+ [many more](https://translate.castopod.org)!
## Motivacija
@@ -76,28 +76,28 @@ Ovaj projekat gura zajednica otvorenog koda, ponajviše
## Poređenje sa drugim rešenjima
-Verujemo da jedno rešenje nije dobro za sve, već da sve zavisi od vaših potreba.
-Tako da evo poređenja sa drugim alatima kako bi ste mogli da procenite da li je
-Castopod prava stvar za vas.
+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 protiv Wordpress-a
-Castopod je često nazivan "Wordpress-om za podkaste" zbog sličnosti koje deli sa
-ovom ploatformom. U neku ruku ovo je tačno. I zapravo, Castopod bio je u velikoj
-meri inspirisan Wordpress ekosistemom, videvši lakoću usvajanja od zajednice i
-broja veb lokacija koje rade na njemu.
+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.
Isto kao i Wordpress, Castopod je besplatan i otvorenog koda, napravljen
koristeći PHP i MySQL baze podataka i spakovan na način koji vam omogućava
jednostavnu instalaciju na većini veb servera.
-Wordpress je odličan način na napravite veb stranicu i upotpunite je dodatcima
-kako bi dobili ono što želite. To je potpuno razvijen CMS koji vam pomaže da
-dobijete bilo koju vrstu veb stranica na mreži.
+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.
-S druge strane, Castopod treba da odgovori na posebne potrebe podkastera,
-fokusirajući se na podkasting, i ništa drugo. Nisu vam potrebni nikakvi dodatci
-kako bi ste krenuli na svoje podkastersko putovanje.
+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.
Ovo omogućava optimizaciju procesa specifičnih za podcasting: u rasponu od
kreiranja vaših podkasta i objavljivanja novih epizoda sve do emitovanja,
@@ -108,17 +108,17 @@ funkcionišu zajedno jer dele iste zahteve!
### Castopod protiv Funkwhale-a
-Funkwhale je moderan besplatni muzički server otvorenog koda koji se samostalno
-hostuje. Kao i Castopod, Funkwhale je deo Fedivers-a, decentralizovane društvene
-mreže što omogućava kompatibilnost između njih.
+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 je u početku napravljen oko muzike. Kasnije, kako je projekat
-napredovao, dodata je opcija hostovanja podkasta.
+Funkwhale was initially built around music. And later on, as the project
+evolved, the ability to host podcasts was introduced.
-Za razliku od Funkwhale-a, Castopod je dizajniran i napravljen isključivo oko
-podkasta. Ovo omogućava lakšu implementaciju funkcionalnosti koje se odnose na
-podkast ekosistem, kao što su podkasting 2.0 alati (transkripti, poglavlja,
-lokacije, osobe, ...).
+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, …).
Tako da bi ste verovatno trebali da koristite Funkwhale ukoliko želite da
hostujete svoju muziku a Castopod ukoliko želite da hostujete svoje podkaste.
@@ -135,9 +135,9 @@ Svako od ovih rešenja se razlikuje jedno od drugog, možete ih uporediti sa
Imajući to u vidu, postoje dve glavne razlike u odnosu na druga rešenja za
podkasting:
-- Castopod može biti samostalno hostovan i jedino je rešenje koje vam omogućava
- da zadržite punu kontrolu nad onim što proizvodite. Takođe, pošto je otvorenog
- koda, možete ga čak prilagoditi kako želite.
+- 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 je jedino rešenje koje trenutno uklapa decentralizovanu društvenu
mrežu sa ActivityPub-om kao i mnoge funkcionalnosti podkasting-a 2.0, nadajući
@@ -145,15 +145,15 @@ podkasting:
## Doprinos
-Volite Catsopod i voleli bi ste da pomognete? Pogledajte dokumentaciju koja
-sledi kako bi ste počeli.
+Love Castopod and would like to help? Take a look at the following documentation
+to get you started.
### Kodeks ponašanja
-Castopod je usvojio Kodeks ponašanja kojeg očekujemo da se učesnici u projektu
-pridržavaju. Molimo da pročitate
-[Uputstvo Kodeksa ponašanja](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
-kako bi ste razumeli šta hoće a šta neće biti tolerisano.
+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.
### Vodič za doprinos
@@ -166,1216 +166,31 @@ unapređenja i kako da napravite i testirate svoje promene na Castopod-u.
Veliko hvala ovim divnim ljudima
([ključ emotikona](https://allcontributors.org/docs/en/emoji-key)):
-{/* ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section */}
-{/* prettier-ignore-start */} {/* markdownlint-disable */}
+- [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:
-{/* markdownlint-restore */} {/* prettier-ignore-end */}
-
-{/* ALL-CONTRIBUTORS-LIST:END */}
-
-Ovaj projekat prati specifikaciju
-[svih saradnika](https://github.com/all-contributors/all-contributors).
-Doprinosi bilo koje vrste su dobrodošli!
-
-## Kontakt
-
-Možete nas kontaktirati za pomoć ili postaviti bilo koje pitanje koje imate na:
-
-- [Discord-u](https://castopod.org/discord) (za direktnu interakciju sa
- programerima i zajednicom)
-- [Listi pitanja](https://code.castopod.org/adaures/castopod/-/issues) (za
- zahteve za funkcionalnostima i prijavu bagova)
-
-Takođe, možete nas pratiti na društvenim mrežama kako bi ste dobili najnovije
-vesti o Castopod-u:
-
-- [podlibre.social](https://podlibre.social/@Castopod) (instanca Mastodon-a)
+- [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)
-## Sponzori
+## Sponsors
-Tekući razvoj Castopod-a je omogućen uz podršku vas koji nas podržavate. Ukoliko
-želite da pomognete, razmislite o
-[sponzorisanju razvoja Castopod-a](https://opencollective.com/castopod/contribute).
+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).
[](https://adaures.com/)
[](https://nlnet.nl/)
-## Licenca
+## License
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
-Autorska prava © 2020-danas, [Ad Aures](https://adaures.com/).
+Copyright © 2020-present, [Ad Aures](https://adaures.com/).
diff --git a/docs/src/content/docs/sv/getting-started/auth.mdx b/docs/src/content/docs/sv/getting-started/auth.mdx
index 6f7f225f..0725c600 100644
--- a/docs/src/content/docs/sv/getting-started/auth.mdx
+++ b/docs/src/content/docs/sv/getting-started/auth.mdx
@@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
### 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 |
| ------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------ |
@@ -20,11 +20,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
| Hanterare | Hanterar Castopods innehåll. | podcasts.create, podcasts.import, persons.manage, pages.manage |
| Podcaster | Generella användare av Castopod. | admin.access |
-{/* AUTH-INSTANCE-ROLES-LIST:END */}
+{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
### 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 |
| ----------------------- | ----------------------------------------------------------------------------- |
@@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
| podcasts.import | Kan importera podcasts. |
| fediverse.manage-blocks | Kan blockera fediverse skådespelare/domäner från att interagera med Castopod. |
-{/* AUTH-INSTANCE-PERMISSIONS-LIST:END */}
+{/_ 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 */}
+{/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/}
| role | description | permissions |
| ---------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -53,11 +53,11 @@ coupled with custom rules. Roles and permissions are defined at two levels:
| Författare | Hanterar innehåll i podcast #\{id\} men kan inte publicera dem. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
| Gäst | Generell bidragsgivare till podcasten #\{id\}. | view, episodes.view |
-{/* AUTH-PODCAST-ROLES-LIST:END */}
+{/_ AUTH-PODCAST-ROLES-LIST:END _/}
### 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 |
| ---------------------------- | ---------------------------------------------------------------------------------- |
@@ -81,4 +81,4 @@ coupled with custom rules. Roles and permissions are defined at two levels:
| episodes.manage-publications | Kan publicera/avpublicera avsnitt och inlägg i podcast #\{id\}. |
| episodes.manage-comments | Kan skapa/ta bort avsnitt kommentarer från podcasten #\{id\}. |
-{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
+{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
diff --git a/docs/src/content/docs/sv/getting-started/docker.mdx b/docs/src/content/docs/sv/getting-started/docker.mdx
index 783803ff..893fc29c 100644
--- a/docs/src/content/docs/sv/getting-started/docker.mdx
+++ b/docs/src/content/docs/sv/getting-started/docker.mdx
@@ -12,8 +12,8 @@ process:
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): en
Nginx konfiguration för Castopod
-Dessutom kräver Castopod en MySQL-kompatibel databas. En Redis databas kan
-läggas till som cachehanterare.
+Additionally, Castopod requires a MySQL-compatible database. A Redis database
+can be added as a cache handler.
## Taggar som stöds
@@ -24,89 +24,89 @@ läggas till som cachehanterare.
## Exempel på användning
-1. Installera [docker](https://docs.docker.com/get-docker/) och
- [docker-komponera](https://docs.docker.com/compose/install/)
-2. Skapa en `docker-compose.yml` fil med följande:
+1. Installera [docker](https://docs.docker.com/get-docker/) och
+ [docker-komponera](https://docs.docker.com/compose/install/)
- ```yml
- version: "3.7"
+2. Skapa en `docker-compose.yml` fil med följande:
- services:
- app:
- image: castopod/castopod:latest
- container_name: "castopod-app"
- 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-app
- - castopod-db
- ports:
- - 8000:8000
- restart: unless-stopped
+ ```yml
+ version: "3.7"
- mariadb:
- image: mariadb:10.5
- 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
+ services:
+ app:
+ image: castopod/castopod:latest
+ container_name: "castopod-app"
+ 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-app
+ - castopod-db
+ ports:
+ - 8000:8000
+ restart: unless-stopped
- redis:
- image: redis:7.0-alpine
- container_name: "castopod-redis"
- command: --requirepass changeme
- volumes:
- - castopod-cache:/data
- networks:
- - castopod-app
+ mariadb:
+ image: mariadb:10.5
+ 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
- volumes:
- castopod-media:
- castopod-db:
- castopod-cache:
+ redis:
+ image: redis:7.0-alpine
+ container_name: "castopod-redis"
+ command: --requirepass changeme
+ volumes:
+ - castopod-cache:/data
+ networks:
+ - castopod-app
- networks:
- castopod-app:
- castopod-db:
- ```
+ volumes:
+ castopod-media:
+ castopod-db:
+ castopod-cache:
- Du måste anpassa vissa variabler efter dina behov (t.ex. `CP_BASEURL`,
- `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` och `CP_ANALYTICS_SALT`).
+ networks:
+ castopod-app:
+ castopod-db:
+ ```
-3. Ställ in en omvänd proxy för TLS (SSL/HTTPS)
+ You have to adapt some variables to your needs (e.g. `CP_BASEURL`,
+ `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`).
- TLS är obligatoriskt för ActivityPub att arbeta. Detta jobb kan enkelt
- hanteras av en omvänd proxy, till exempel med
- [Caddy](https://caddyserver.com/):
+3. Ställ in en omvänd proxy för TLS (SSL/HTTPS)
- ```
- #castopod
- castopod.example.com {
- reverse_proxy localhost:8000
- }
- ```
+ TLS is mandatory for ActivityPub to work. This job can easily be handled by
+ a reverse proxy, for example with [Caddy](https://caddyserver.com/):
-4. Kör `docker-komponera upp -d`, vänta på att den initieras och gå vidare till
- `https://castopod.example.com/cp-install` för att slutföra installationen av
- Castopod!
+ ```
+ #castopod
+ castopod.example.com {
+ reverse_proxy localhost:8000
+ }
+ ```
-5. Ni är alla klara, börja podcasting! 🎙️🚀
+4. Kör `docker-komponera upp -d`, vänta på att den initieras och gå vidare till
+ `https://castopod.example.com/cp-install` för att slutföra installationen av
+ Castopod!
+
+5. You're all set, start podcasting! 🎙️🚀
## Miljövariabler
@@ -114,11 +114,11 @@ läggas till som cachehanterare.
| Variabel namn | Type (`default`) | Standard |
| ------------------------------------- | ----------------------- | ---------------- |
- | **`CP_BASEURL`** | sträng | `odefinierad` |
+ | **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
- | **`CP_ADMIN_GATEWAY`** | ?sträng | `"cp-admin"` |
+ | **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
- | **`CP_ANALYTICS_SALT`** | string | `odefinierad` |
+ | **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
diff --git a/docs/src/content/docs/sv/getting-started/install.mdx b/docs/src/content/docs/sv/getting-started/install.mdx
index 501f4824..f2a660bd 100644
--- a/docs/src/content/docs/sv/getting-started/install.mdx
+++ b/docs/src/content/docs/sv/getting-started/install.mdx
@@ -4,93 +4,75 @@ title: Hur man installerar Castopod?
import { Aside } from "@astrojs/starlight/components";
-Castopod var tänkt att vara lätt att installera. Oavsett om du använder
-dedikerade eller delade webbhotell kan du installera det på de flesta
-PHP-MySQL-kompatibla webbservrar.
+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.
-
-
-## Krav
-
-- PHP v8.3 or higher
-- MySQL version 5.7 eller högre eller MariaDB version 10.2 eller högre
-- Stöd för HTTPS
+- 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.3 or higher
+### PHP v8.1 or higher
-PHP version 8.3 or higher is required, with the following extensions installed:
+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) med **JPEG**,
- **PNG** och **WEBP** bibliotek.
+- [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)
-Se dessutom till att följande tillägg är aktiverade i din PHP:
+Additionally, make sure that the following extensions are enabled in your PHP:
-- json (aktiverad som standard - stäng inte av)
-- xml (aktiverat som standard - stäng inte av)
+- 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 kompatibel databas
+### MySQL compatible database
-> Vi rekommenderar att du använder [MariaDB](https://mariadb.org).
+> We recommend using [MariaDB](https://mariadb.org).
-
+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`.
-Du behöver serverns värdnamn, databasnamn, användarnamn och lösenord för att
-slutföra installationen. Om du inte har dessa kontaktar du din
-serveradministratör.
+### (Optional) FFmpeg v4.1.8 or higher for Video Clips
-#### Privilegier
+[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:
-Användare måste ha minst dessa rättigheter i databasen för att Castopod ska
-fungera: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`,
-`UPDATE`, `REFERENCES`, `CREATE VIEW`.
-
-### (Valfritt) FFmpeg v4.1.8 eller högre för videoklipp
-
-[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 eller högre krävs om du vill
-generera videoklipp. Följande tillägg måste installeras:
-
-- **FreeType 2** bibliotek för
+- **FreeType 2** library for
[gd](https://www.php.net/manual/en/image.installation.php).
-### (Valfritt) Andra rekommendationer
+### (Optional) Other recommendations
-- Redis för bättre cache-prestanda.
-- CDN för statiska filer caching och bättre prestanda.
-- e-post gateway för förlorade lösenord.
+- Redis for better cache performances.
+- CDN for static files caching and better performances.
+- e-mail gateway for lost passwords.
-## Installationsanvisningar
+## Privilegier
-### Förutsättningar
+### Pre-requisites
-0. Skaffa en webbserver med [krav](#requirements) installerat
-1. Skapa en MySQL-databas för Castopod med en användare som har åtkomst till och
- modifieringsrättigheter (för mer info, se
- [MySQL-kompatibel databas](#mysql-compatible-database)).
-2. Aktivera HTTPS på din domän med ett _SSL-certifikat_.
-3. Ladda ner och packa upp det senaste [Castopod Package](https://castopod.org/)
- på webbservern om du inte redan har det.
- - ⚠️ Sätt webbserverdokumentroten till `public/` undermappen i mappen
- `castopod`.
+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):
@@ -108,24 +90,25 @@ generera videoklipp. Följande tillägg måste installeras:
- Generating video clips -
[requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
-### (rekommenderas) Installationsguide
+### (recommended) Install Wizard
-1. Kör Castopod install script genom att gå till installationsguiden sidan
- (`https://your_domain_name.com/cp-install`) i din favorit webbläsare.
-2. Följ instruktionerna på din enhet.
-3. Börja podcasting!
+1. **FreeType 2** bibliotek för
+ [gd](https://www.php.net/manual/en/image.installation.php).
+2. Follow the instructions on your screen.
+3. Start podcasting!
### Using CLI
1. Create a `.env` file in the package root based on the `.env.example` file.
+
2. Initialize the database using:
```sh
@@ -142,11 +125,11 @@ installationsguiden kan du skapa och redigera `. nv` filen manuellt baserat på
### Email/SMTP setup
-E-postkonfiguration krävs för att vissa funktioner ska fungera korrekt (t.ex.
-att hämta ditt glömda lösenord, skicka instruktioner till premiumprenumeranter,
+Email configuration is required for some features to work properly (eg.
+retrieving your forgotten password, sending instructions to premium subscribers,
…)
-Du kan lägga till din e-postkonfiguration i din instans `.env` som så:
+You may add your email configuration in your instance's `.env` like so:
```ini
# […]
@@ -157,17 +140,17 @@ email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
-#### Alternativ för e-postkonfiguration
+#### Email config options
-| Variabelt namn | Typ | Standard |
-| ---------------- | ----------------------- | ------------- |
-| **`fromEmail`** | sträng | `odefinierad` |
-| **`fromName`** | sträng | `"Castopod"` |
-| **`SMTPHost`** | sträng | `odefinierad` |
-| **`SMTPUser`** | sträng | `odefinierad` |
-| **`SMTPPass`** | sträng | `odefinierad` |
-| **`SMTPPort`** | nummer | `25` |
-| **`SMTPCrypto`** | [`"tls"` eller `"ssl"`] | `"tls"` |
+| 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
@@ -213,7 +196,7 @@ media.s3.region="your_s3_region"
| **`pathStyleEndpoint`** | boolean | `false` |
| **`keyPrefix`** | string | `undefined` |
-## Gemenskapspaket
+## 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.
@@ -233,7 +216,7 @@ self-hosting for you.
>

diff --git a/docs/src/content/docs/sv/getting-started/update.mdx b/docs/src/content/docs/sv/getting-started/update.mdx
index fde95d61..783774a8 100644
--- a/docs/src/content/docs/sv/getting-started/update.mdx
+++ b/docs/src/content/docs/sv/getting-started/update.mdx
@@ -37,8 +37,8 @@ prestanda förbättringar ⚡.
@@ -50,6 +50,7 @@ prestanda förbättringar ⚡.
5. Rensa din cache från `Castopod Admin` > `Inställningar` > `allmän` >
`Hushållning`
+
6. ✨ Njut av din färska instans, du är alla klara!
## Helt automatiserade uppdateringar
-> Kommer snart... 👀
+> Coming soon... 👀
## Vanliga frågor (FAQ)
@@ -74,11 +75,11 @@ Gå till din Castopod admin-panel, versionen visas längst ner till vänster hö
Alternativt kan du hitta versionen i `appen > Config > Constants.php` filen.
-### Jag har inte uppdaterat min instans på länge… Vad ska jag göra?
+### I haven't updated my instance in a long time… What should I do?
-Inga problem! Bara få den senaste versionen som beskrivs ovan. Endast när du går
-genom utgivningsinstruktionerna (4), utför dem sekventiellt, från de äldsta till
-de nyaste.
+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.
> Du kanske vill säkerhetskopiera din instans beroende på hur länge du inte har
> uppdaterat Castopod.
@@ -91,8 +92,8 @@ Till exempel, om du är på `v1.0.0-alpha.42` och vill uppgradera till
1. Ladda ner den senaste utgåvan, skriv över dina filer samtidigt som du
behåller `.env` och `public/media`.
-2. Gå igenom varje utgåva uppdateringsinstruktioner sekventiellt (från äldsta
- till nyaste) börjar med `v1.0.0-alpha. 3`, `v1.0.0-alpha.44`,
+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. ✨ Njut av din färska instans, du är alla klara!
diff --git a/docs/src/content/docs/sv/index.mdx b/docs/src/content/docs/sv/index.mdx
index 0875f240..be144af6 100644
--- a/docs/src/content/docs/sv/index.mdx
+++ b/docs/src/content/docs/sv/index.mdx
@@ -15,42 +15,42 @@ mycket litet fotavtryck.
## Funktioner
-- 🌱 Gratis & öppen källkod (AGPL v3-licens)
-- 🔐 Fokuserad på datasuveränitet: ditt innehåll, målgrupp och analys
- tillhör dig, och du bara
-- 🪄 Podcasting 2.0 funktioner: GUID, låst, avskrifter, finansiering,
+- 🌱 Gratis & öppen källkod (AGPL v3-licens)
+- 🔐 Fokuserad på datasuveränitet: ditt innehåll, målgrupp och analys
+ tillhör dig, och du bara
+- 🪄 Podcasting 2.0 funktioner: GUID, låst, avskrifter, finansiering,
kapitel, plats, personer, ljud, …
-- 💬 Inbyggt socialt nätverk:
- - 🚀 Castopod är en del av Fediverse, ett decentraliserat socialt
+- 💬 Inbyggt socialt nätverk:
+ - 🚀 Castopod är en del av Fediverse, ett decentraliserat socialt
nätverk
- - ❤️ Skapa inlägg, dela, favorit och kommentera avsnitt
-- 📈 Inbyggd analys:
- - ⚖️ GDPR / CCPA / LGPD kompatibel
- - 🪙 Standard IABv2 målgruppsmätning
- - 🏡 Lokalanalys, ingen tredje part involverad
-- 📢 Inbyggda marknadsföringsverktyg:
- - ✅ SEO ready (open-graph meta-tags, JSON-LD, …)
- - 📱 PWA: installera som en fristående app
- - 🎨 Anpassningsbara temafärger
- - 🎬 Generera att dela videoklipp från avsnitt
- - 🔉 Generera ljudbitar
- - ▶️ Inbäddbar spelare, bädda in dina avsnitt på valfri webbplats
-- 💸 Monetization:
- - 🔗 Finansierar länkar
- - 📲 lista-att-klicka annonser
- - 🤝 value4value / WebMonetization
- - 💎 Premium podcasts
-- 📡 Publicera dina avsnitt överallt med RSS:
- - 📱 På alla index och appar: Podcast Index, Apple Podcasts, Spotify,
+ - ❤️ Skapa inlägg, dela, favorit och kommentera avsnitt
+- 📈 Inbyggd analys:
+ - ⚖️ GDPR / CCPA / LGPD kompatibel
+ - 🪙 Standard IABv2 målgruppsmätning
+ - 🏡 Lokalanalys, ingen tredje part involverad
+- 📢 Inbyggda marknadsföringsverktyg:
+ - ✅ SEO ready (open-graph meta-tags, JSON-LD, …)
+ - 📱 PWA: installera som en fristående app
+ - 🎨 Anpassningsbara temafärger
+ - 🎬 Generera att dela videoklipp från avsnitt
+ - 🔉 Generera ljudbitar
+ - ▶️ Inbäddbar spelare, bädda in dina avsnitt på valfri webbplats
+- 💸 Monetization:
+ - 🔗 Finansierar länkar
+ - 📲 lista-att-klicka annonser
+ - 🤝 value4value / WebMonetization
+ - 💎 Premium podcasts
+- 📡 Publicera dina avsnitt överallt med RSS:
+ - 📱 På alla index och appar: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- - ⚡ Sänd dina avsnitt direkt med WebSub
-- 📥 Podcast import: flytta din befintliga podcast till Castopod
-- 📤 Flytta ut din podcast från Castopod
-- 🔀 Flera hyresgäst: värd så många podcasts du vill
-- 👥 Flera användare: lägg till bidragslämnare och ange roller
-- 🌎 i18n support: översatt till engelska, franska, polska, tyska,
- brasilianska portugisiska & spanska… med
- [mer att komma](https://translate.castopod.org)!
+ - ⚡ Sänd dina avsnitt direkt med WebSub
+- 📥 Podcast import: flytta din befintliga podcast till Castopod
+- 📤 Flytta ut din podcast från Castopod
+- 🔀 Flera hyresgäst: värd så många podcasts du vill
+- 👥 Flera användare: lägg till bidragslämnare och ange roller
+- 🌎 i18n support: translated in English, French, Polish, German,
+ Brazilian Portuguese, Spanish, simplified Chinese… and
+ [many more](https://translate.castopod.org)!
## Motivation
@@ -134,13 +134,13 @@ Each of these solutions differ from one another, you may compare with the
That being said, there are two main differences with other podcasting solutions:
-- Castopod kan vara själv värd och är den enda lösningen som gör att du kan
- hålla full kontroll över vad du producerar. Dessutom, eftersom det är öppen
- källkod, kan du även anpassa det som du vill.
+- 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 är den enda lösningen som för närvarande integrerar både ett
- decentraliserat socialt nätverk med ActivityPub samt många av podcasting 2.
- funktioner, i hopp om att överbrygga gapet mellan de två.
+- 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.
## Hjälp till
@@ -162,1198 +162,12 @@ and test your changes to Castopod.
## Alla bidragsgivare ✨
-Thanks goes to these wonderful people
-([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-{/* ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section */}
-{/* prettier-ignore-start */} {/* markdownlint-disable */}
-
-
-
-{/* markdownlint-restore */} {/* prettier-ignore-end */}
-
-{/* ALL-CONTRIBUTORS-LIST:END */}
-
-This project follows the
-[all-contributors](https://github.com/all-contributors/all-contributors)
-specification. Contributions of any kind welcome!
-
-## Kontakt
-
You may reach us for help or ask any question you have on:
-- [Discord](https://castopod.org/discord) (för direkt interaktion med
- -utvecklare och gemenskapen)
-- [Ärendespårare](https://code.castopod.org/adaures/castopod/-/issues) (för
- funktionsförfrågningar & felrapporter)
+- [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:
@@ -1363,7 +177,7 @@ Castopod:
- [LinkedIn](https://linkedin.com/company/castopod)
- [Facebook](https://www.facebook.com/castopod)
-## Sponsorer
+## Sponsors
The ongoing development of Castopod is made possible with the support of its
backers. If you'd like to help, please consider
@@ -1373,7 +187,7 @@ backers. If you'd like to help, please consider
[](https://nlnet.nl/)
-## Licens
+## License
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/docs/src/content/docs/uk/getting-started/auth.mdx b/docs/src/content/docs/uk/getting-started/auth.mdx
index ee24a14c..3cfc9530 100644
--- a/docs/src/content/docs/uk/getting-started/auth.mdx
+++ b/docs/src/content/docs/uk/getting-started/auth.mdx
@@ -12,7 +12,7 @@ coupled with custom rules. Roles and permissions are defined at two levels:
### 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 |
| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
@@ -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 |
| Podcaster | General users of Castopod. | admin.access |
-{/* AUTH-INSTANCE-ROLES-LIST:END */}
+{/_ AUTH-INSTANCE-ROLES-LIST:END _/}
### 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 |
| ----------------------- | ------------------------------------------------------------------ |
@@ -38,13 +38,13 @@ coupled with custom rules. Roles and permissions are defined at two levels:
| podcasts.import | Can import podcasts. |
| 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
### 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 |
| ------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -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 |
| Guest | General contributor of the podcast #\{id\}. | view, episodes.view |
-{/* AUTH-PODCAST-ROLES-LIST:END */}
+{/_ AUTH-PODCAST-ROLES-LIST:END _/}
### 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 |
| ---------------------------- | -------------------------------------------------------------------------- |
@@ -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-comments | Can create/remove episode comments of podcast #\{id\}. |
-{/* AUTH-PODCAST-PERMISSIONS-LIST:END */}
+{/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/}
diff --git a/docs/src/content/docs/uk/getting-started/docker.mdx b/docs/src/content/docs/uk/getting-started/docker.mdx
index 6141377f..14e36d5e 100644
--- a/docs/src/content/docs/uk/getting-started/docker.mdx
+++ b/docs/src/content/docs/uk/getting-started/docker.mdx
@@ -24,87 +24,88 @@ can be added as a cache handler.
## 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:
+1. Install [docker](https://docs.docker.com/get-docker/) and
+ [docker-compose](https://docs.docker.com/compose/install/)
- ```yml
- version: "3.7"
+2. Create a `docker-compose.yml` file with the following:
- services:
- app:
- image: castopod/castopod:latest
- container_name: "castopod-app"
- 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-app
- - castopod-db
- ports:
- - 8000:8000
- restart: unless-stopped
+ ```yml
+ version: "3.7"
- mariadb:
- image: mariadb:10.5
- 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
+ services:
+ app:
+ image: castopod/castopod:latest
+ container_name: "castopod-app"
+ 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-app
+ - castopod-db
+ ports:
+ - 8000:8000
+ restart: unless-stopped
- redis:
- image: redis:7.0-alpine
- container_name: "castopod-redis"
- command: --requirepass changeme
- volumes:
- - castopod-cache:/data
- networks:
- - castopod-app
+ mariadb:
+ image: mariadb:10.5
+ 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
- volumes:
- castopod-media:
- castopod-db:
- castopod-cache:
+ redis:
+ image: redis:7.0-alpine
+ container_name: "castopod-redis"
+ command: --requirepass changeme
+ volumes:
+ - castopod-cache:/data
+ networks:
+ - castopod-app
- networks:
- castopod-app:
- castopod-db:
- ```
+ volumes:
+ castopod-media:
+ castopod-db:
+ castopod-cache:
- You have to adapt some variables to your needs (e.g. `CP_BASEURL`,
- `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`).
+ networks:
+ castopod-app:
+ castopod-db:
+ ```
-3. Setup a reverse proxy for TLS (SSL/HTTPS)
+ You have to adapt some variables to your needs (e.g. `CP_BASEURL`,
+ `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`).
- TLS is mandatory for ActivityPub to work. This job can easily be handled by
- a reverse proxy, for example with [Caddy](https://caddyserver.com/):
+3. Setup a reverse proxy for TLS (SSL/HTTPS)
- ```
- #castopod
- castopod.example.com {
- reverse_proxy localhost:8000
- }
- ```
+ TLS is mandatory for ActivityPub to work. This job can easily be handled by
+ a reverse proxy, for example with [Caddy](https://caddyserver.com/):
-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!
+ ```
+ #castopod
+ castopod.example.com {
+ reverse_proxy localhost:8000
+ }
+ ```
-5. You're all set, start podcasting! 🎙️🚀
+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
diff --git a/docs/src/content/docs/uk/getting-started/install.mdx b/docs/src/content/docs/uk/getting-started/install.mdx
index 4bb838b5..ec6aea20 100644
--- a/docs/src/content/docs/uk/getting-started/install.mdx
+++ b/docs/src/content/docs/uk/getting-started/install.mdx
@@ -4,150 +4,135 @@ title: Kako Instalirati Castopod?
import { Aside } from "@astrojs/starlight/components";
-Zamišljeno je da Castopod bude jednostavan za instalaciju. Bilo da se koristi
-namenski ili deljeni hosting, možete ga instalirati na većinu PHP-MySQL
-kompatibilnih veb servera.
+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.
-
-
-## Uslovi
-
-- PHP v8.3 ili novija verzija
-- MySQL verzija 5.7 ili novija ili MariaDB verzija 10.2 ili novija
-- HTTPS podrška
-- [ntp-sinhronizovani sat](https://viki.debian.org/NTP) za potvrdu dolaznih
- zahteva federacije
-
-### PHP v8.3 ili kasnija verzija
-
-Potrebna je PHP verzija 8.3 ili novija, sa instaliranim sledećim ekstenzijama:
+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) sa **JPEG**,
- **PNG** i **WEBP** bibliotekama.
+- [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)
-Pored toga, uverite se da su sledeće ekstenzije omogućene u vašem PHP-u:
+Additionally, make sure that the following extensions are enabled in your PHP:
-- json (podrazumevano omogućeno - ne isključujte ga)
-- xml (podrazumevano omogućeno - ne isključujte ga)
+- 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 kompatibilne baze podataka
+### MySQL compatible database
-> Preporučujemo korišćenje [MariaDB](https://mariadb.org).
+> We recommend using [MariaDB](https://mariadb.org).
-
+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`.
-Trebaće vam ime servera, ime baze podataka, korisničko ime i lozinka za završite
-proces instalacije. Ako ih nemate, obratite se svom administratoru servera.
+### (Optional) FFmpeg v4.1.8 or higher for Video Clips
-#### Privilegije
+[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:
-Korisnik mora imati najmanje ove privilegije u bazi podataka da bi Castopod
-radio: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`,
-`UPDATE`, `REFERENCES`, `CREATE VIEW`.
-
-### (Opciono) FFmpeg v4.1.8 ili kasnija verzija za video isečke
-
-[FFmpeg](https://www.ffmpeg.org/) verzija 4.1.8 ili kasnija je neophodna ukoliko
-želite da pravite video isečke. Sledeće ekstenzije moraju biti instalirane:
-
-- **FreeType 2** biblioteka za
+- **FreeType 2** library for
[gd](https://www.php.net/manual/en/image.installation.php).
-### (Opciono) Ostale preporuke
+### (Optional) Other recommendations
-- Redis za bolje performanse keša.
-- CDN za keširanje statičnih datoteka i bolje performanse.
-- e-mail gateway za izgubljene lozinke.
+- Redis for better cache performances.
+- CDN for static files caching and better performances.
+- e-mail gateway for lost passwords.
-## Uputstva za instalaciju
+## Privilegije
-### Preduslovi
+### Pre-requisites
-0. Nabavite veb server sa instaliranim [preduslovima](#requirements)
-1. Napravite MySQL bazu podataka za Castopod sa korisnikom koji ima pristup i
- privilegije da modifikuje (za više informacija, pogledajte
- [MySQL kompatibilna baza podataka](#mysql-compatible-database)).
-2. Aktivirajte HTTPS na vašem domenu sa _SSL sertifikatom_.
-3. Preuzmite i otpakujte najnoviji [Castopod Paket](https://castopod.org/) na
- veb server ako to već niste uradili.
- - ⚠️ Podesite root dokument veb servera na `public/` poddirektorijum u okviru
- `castopod` direktorijuma.
-4. Dodajte **cron zadatke** na vašem veb serveru za različite zadatke u pozadini
- (zamenite staze u skladu sa tim):
+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
```
- **Pažnja** - ukoliko ne dodate ovaj cron zadatak, sledeće opcije Castopod-a
- neće raditi:
+ **Note** - If you do not add this cron task, the following Castopod features
+ will not work:
- - Uvoz podkasta iz postojeće RSS veze
- - Objava društvenih aktivnosti vašim pratiocima u Fediverzumu
- - Objava epizoda u otvorenim hub-ovima uz pomoć
- [WebSub-a](https://en.wikipedia.org/wiki/WebSub)
- - Pravljenje video isečaka -
- [zahteva FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
+ - 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)
-### (preporučeno) Čarobnjak za instalaciju
+### (recommended) Install Wizard
-1. Pokrenite Castopod-ovu instalacionu skriptu tako što ćete otići na stranicu
- čarobnjaka za instalaciju (`https://your_domain_name.com/cp-install`) u važem
- omiljenom pretraživaču.
-2. Pratite uputstva na ekranu.
-3. Počnite sa podkastingom!
+1. **FreeType 2** biblioteka za
+ [gd](https://www.php.net/manual/en/image.installation.php).
+2. Follow the instructions on your screen.
+3. Start podcasting!
-### Korišćenje CLI
+### Preduslovi
-1. Napravite `.env` datoteku u root-u paketa, po uzoru na `.env.example`
- datoteku.
-2. Inicirajte bazu podataka koristeći:
+1. Nabavite veb server sa instaliranim [preduslovima](#requirements)
+
+2. Napravite MySQL bazu podataka za Castopod sa korisnikom koji ima pristup i
+ privilegije da modifikuje (za više informacija, pogledajte
+ [MySQL kompatibilna baza podataka](#mysql-compatible-database)).
```sh
php spark install:init-database
```
-3. Napravite super administratora koristeći:
+3. Aktivirajte HTTPS na vašem domenu sa _SSL sertifikatom_.
```sh
php spark install:create-superadmin
```
-4. Idite na vaš administratorski pristup i krenite sa podkastingom!
+4. Preuzmite i otpakujte najnoviji [Castopod Paket](https://castopod.org/) na
+ veb server ako to već niste uradili.
-### Podešavanja Elektronske pošte/SMTP-a
+### (preporučeno) Čarobnjak za instalaciju
-Podešavanja elektronske pošte su potrebna kako bi neke opcije radile kako treba
-(npr. povratak izgubljene lozinke, slanje uputstava premijum pretplatnicima, …)
+Email configuration is required for some features to work properly (eg.
+retrieving your forgotten password, sending instructions to premium subscribers,
+…)
-Možete dodati konfiguraciju elektronske pošte u vašu `.env` datoteku instance na
-sledeći način:
+You may add your email configuration in your instance's `.env` like so:
```ini
# […]
@@ -158,24 +143,23 @@ email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
-#### Opcije konfigurisanja elektronske pošte
+#### Email config options
-| Naziv promenljive | Vrsta | Podrazumevano |
-| ----------------- | --------------------- | -------------- |
-| **`fromEmail`** | string | `nedefinisano` |
-| **`fromName`** | string | `"Castopod"` |
-| **`SMTPHost`** | string | `nedefinisano` |
-| **`SMTPUser`** | string | `nedefinisano` |
-| **`SMTPPass`** | string | `nedefinisano` |
-| **`SMTPPort`** | number | `25` |
-| **`SMTPCrypto`** | [`"tls"` ili `"ssl"`] | `"tls"` |
+| 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"` |
-### Multimedijalno skladište
+### Media storage
-Podrazumevano, datoteke se čuvaju u `public/media` direktorijumu koristeći
-sistem datoteka. Ukoliko želite da prebacite `media` direktorijum na drugo
-mesto, možete to odrediti u svojoj `.env` datoteci na način koji je prikazan
-ispod:
+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
# […]
@@ -184,14 +168,13 @@ media.root="media"
media.storage="/mnt/storage"
```
-U ovom primeru, datoteke će biti sačuvane u /mnt/storage/media direktorijumu.
-Obavezno ažurirajte konfiguraciju svog veb servera kako biste odrazili ovu
-promenu.
+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
-Ako više volite da čuvate svoje medijske datoteke na S3 kompatibilnom skladištu,
-možete da ga navedete u svojoj `.env` datoteci:
+If you prefer storing your media files on an S3 compatible storage, you may
+specify it in your `.env`:
```ini
# […]
@@ -203,29 +186,29 @@ media.s3.secret="your_s3_secret"
media.s3.region="your_s3_region"
```
-#### Opcije konfigurisanja S3 skladišta
+#### Multimedijalno skladište
-| Naziv promenljive | Vrsta | Podrazumevano |
-| ----------------------- | ------- | -------------- |
-| **`endpoint`** | string | `nedefinisano` |
-| **`key`** | string | `nedefinisano` |
-| **`secret`** | string | `nedefinisano` |
-| **`region`** | string | `nedefinisano` |
-| **`bucket`** | string | `castopod` |
-| **`protocol`** | number | `nedefinisano` |
-| **`pathStyleEndpoint`** | boolean | `false` |
-| **`keyPrefix`** | string | `nedefinisano` |
+| 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` |
-## Paketi iz zajednice
+## Community packages
-Ukoliko ne želite da sami instalirate Castopod ručno, moežete iskoristiti jedan
-od paketa koji je napravila i o kome brine zajednica otvorenog koda.
+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.
-### Instalirajte sa YunoHost-om
+### Install with YunoHost
-[YunoHost](https://yunohost.org/) je je distribucija zasnovana na Debian
-GNU/Linux-u sačinjena od besplatnih softverskih paketa otvorenog koda. Ona
-upravlja teškoćama samo-hostovanje za vas.
+[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.
@@ -236,7 +219,7 @@ upravlja teškoćama samo-hostovanje za vas.
>

diff --git a/docs/src/content/docs/uk/getting-started/update.mdx b/docs/src/content/docs/uk/getting-started/update.mdx
index f1a26974..c23fbd5e 100644
--- a/docs/src/content/docs/uk/getting-started/update.mdx
+++ b/docs/src/content/docs/uk/getting-started/update.mdx
@@ -51,6 +51,7 @@ improvements ⚡.
5. Clear your cache from your `Castopod Admin` > `Settings` > `general` >
`Housekeeping`
+
6. ✨ Enjoy your fresh instance, you're all done!