Uberspace / lab

The Uberlab provides various tutorials - written by you! - on how to run software and tools on Uberspace 7.
https://lab.uberspace.de
Other
315 stars 416 forks source link

[castropod] create guide #1257

Closed nichtmax closed 1 year ago

nichtmax commented 2 years ago

Seems pretty straight forward

nichtmax commented 2 years ago
image

runs fine.

Permissions in the archive are not correct, fix with chmod.

Ryuno-Ki commented 2 years ago

I'm trying to get it installed on my instance (eukelade). Not quite there (because I want to have it in a sub-directory called podcast).

I'll drop some notes here that can go into a guide. Let's see …

https://docs.castopod.org/getting-started/install.html#install-instructions contains the official instructions. https://code.castopod.org/adaures/castopod/-/releases lists all releases (as ZIP or .tar.gz - the homepage only shows a ZIP archive. Pay attention to download the package instead of the source code!)

SSH into your Uberspace. Then run these (recommendations for improvement welcome - I haven't polished the flags yet)

cd /var/www/virtual/$USER
wget https://code.castopod.org/adaures/castopod/uploads/48710de086e7b4dfa23f894e81e15365/castopod-1.0.0-beta.14.tar.gz
tar -xvzf castopod-1.0.0-beta.14.tar.gz
rm castopod-1.0.0-beta.14.tar.gz
ln -s /var/www/virtual/$USER/castopod/public /var/www/virtual/$USER/html/podcast

Nest step should be to visit your uberspace-domain (resp. /podcast) and find a Castopod error page. Installation routine can be completed by appending /cp-install, i.e. /podcast/cp-install.

Yet I see an internal server error here.

Plus, I'm not sure what to do with the .htaccess that they ship. Somehow merge them?

nichtmax commented 2 years ago

For our guides please don't use subfolders:

Don't mention additional document roots. Keep it simple. Don't use subfolders. Always use the standard document root ~/html. Always assume the document root is empty.

For your personal use I strongly suggest to use a different document root and a different domain. That's usually easier than to fiddle around with folders.

Ryuno-Ki commented 2 years ago

For your personal use I strongly suggest to use a different document root and a different domain. That's usually easier than to fiddle around with folders.

Do you happen to have a link to docs for this? I recall a blog post (I think) that said, that each service should run on its own Uberspace instance. U7 meant to unionise the payment for them in a dashboard.

Without that, I cannot use an approach without a folder, since I rely on my html directory for static content.

EV21 commented 2 years ago

U7 meant to unionise the payment for them in a dashboard.

As of my knowledge this is still work-in-progress, but you can already handle the payment for multiple uberspace with a single sepa transaction. https://manual.uberspace.de/billing-general/#sepa-bank-transfer

additional document root

Do you happen to have a link to docs for this?

https://manual.uberspace.de/web-domains/#setup https://manual.uberspace.de/web-documentroot/#additional-documentroots

Example:

[...]
$ ln -s /var/www/virtual/$USER/castopod/public /var/www/virtual/$USER/podcast.example.com
$ tree /var/www/virtual/$USER/ -L 2
/var/www/virtual/isabell/
├── castopod
│   ├── app
│   ├── LICENSE.md
│   ├── modules
│   ├── public
│   ├── README.md
│   ├── themes
│   ├── vendor
│   └── writable
├── html
│   └── nocontent.html
└── podcast.example.com -> /var/www/virtual/isabell/castopod/public

I rely on my html directory for static content.

You can still use your default html route like for isabell.uber.space with the example above.

Another example:

myPodcastName.tld for castropod static.myPodcastName.tld for js/files/etc. community.myPodcastName.tld --> it would make sense to have this at another U7 etc.

subfolder

long story short: Don't do this!

If you really want to use a subfolder you may have to "fiddle around"

I have not tested this, but after a quick look into the code...

It looks like the installer is not very smart (it is still a beta...)

The installer only sets the hostname as base url https://github.com/ad-aures/castopod/blob/0345728739246dbbbb86b56c7c163a68564da1a0/modules/Install/Controllers/InstallController.php#L167

docs:

Note

The install script writes a .env file in the package root. If you cannot go through the install wizard, you can create and update the .env file manually.

Maybe you just manually create the .env file and set the correct base URL with app.baseURL="https://YOUR_DOMAIN_NAME/podcast/"

You may follow the instructions mentioned in the .env.example https://github.com/ad-aures/castopod/blob/develop/.env.example

Ryuno-Ki commented 2 years ago

Okay, I made use of the trial option of Uberspace and wrote #1258 following the steps I documented. Review welcome :)