fix: initial changes to allow for intial deployment

This commit is contained in:
Paul Couture 2023-12-15 02:47:48 +00:00
parent 26c4b2c959
commit 2b62304349
11 changed files with 107 additions and 78 deletions

2
.gitignore vendored
View File

@ -33,3 +33,5 @@ legacypublic
migrated_artworks_files.tar.gz
migrated_thumbnail_files.tar.gz
site/.yarn/releases/yarn-1.22.19.cjs
site/public/assets
redis/*

View File

@ -26,7 +26,18 @@ services:
LARAVEL_SCHEDULE_ENABLED: true
PHP_OPEN_BASEDIR: "/var/www/html:/static"
ports:
- "80:80"
- "8776:80"
networks:
- proxy
- default
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
# Entry Point for https
- "traefik.http.routers.podcastartgen-secure.entrypoints=websecure"
- "traefik.http.routers.podcastartgen-secure.rule=Host(`new.noagendaartgenerator.com`)"
- "traefik.http.routers.podcastartgen-secure.service=podcastartgen-service"
- "traefik.http.services.podcastartgen-service.loadbalancer.server.port=80"
links:
- db
- redis
@ -34,13 +45,24 @@ services:
static:
image: nginx:alpine
volumes:
- ./static:/usr/share/nginx/html
- ${PATH_TO_STATIC}:/usr/share/nginx/html
environment:
TZ: UTC
PUID: ${UID:-1000}
PGID: ${GID:-1000}
ports:
- "8181:80"
- "8777:80"
networks:
- proxy
- default
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
# Entry Point for https
- "traefik.http.routers.podcastartstatic-secure.entrypoints=websecure"
- "traefik.http.routers.podcastartstatic-secure.rule=Host(`static.noagendaartgenerator.com`)"
- "traefik.http.routers.podcastartstatic-secure.service=podcastartstatic-service"
- "traefik.http.services.podcastartstatic-service.loadbalancer.server.port=80"
db:
image: mariadb:latest
env_file: .env
@ -53,15 +75,42 @@ services:
volumes:
- "./db/data:/var/lib/mysql"
- "./db/dump:/docker-entrypoint-initdb.d"
networks:
- proxy
- default
ports:
- "3306:3306"
- "51533:3306" # Adjust the external port if needed
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.podcastartdb-secure.entrypoints=websecure"
- "traefik.http.routers.podcastartdb-secure.rule=Host(`podcastartdb.noagenda.dev`)"
- "traefik.http.routers.podcastartdb-secure.service=podcastartdb-service"
- "traefik.http.services.podcastartdb-service.loadbalancer.server.port=3306"
redis:
image: redis:latest
image: redis:alpine
command: redis-server --appendonly yes --requirepass ${REDIS_SEC_PASSWORD}
ports:
- "6379:6379"
- "56379:6379"
volumes:
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
- ./redis/redis-data:/var/lib/redis
environment:
- REDIS_REPLICATION_MODE=master
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.paredis-secure.entrypoints=websecure"
- "traefik.http.routers.paredis-secure.rule=Host(`paredis.noagenda.dev`)"
- "traefik.http.routers.paredis-secure.service=paredis-service"
- "traefik.http.services.paredis-service.loadbalancer.server.port=6379"
npm:
image: node:latest
working_dir: /var/www/html
entrypoint: ["npm"]
volumes:
- ./site:/var/www/html
networks:
proxy:
external: true

View File

@ -30,7 +30,7 @@ public function index()
->with('artist')
->orderBy('episode_id', 'desc')
->orderBy('created_at', 'desc')
->paginate($perPage = 3, $columns = ['*'], $pageName = 'artworks');
->paginate($perPage = 92, $columns = ['*'], $pageName = 'artworks');
$podcasts = Podcast::where('published', true)->with('episodes')->get();
return view('explore.artworks', [
'user' => $user,

View File

@ -38,8 +38,8 @@
<div class="row">
<div class="col-xxl-6 mb-6">
<div class="explore-style-one">
<div class="thumb"><a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
><img id="largeImage"src="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
<div class="thumb"><a href="{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
><img id="largeImage"src="{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}"
alt="{{ $artwork->title }} by {{ $artwork->artist->name }} for {{ $artwork->podcast->title }}"></a>
</div>
</div>
@ -61,10 +61,10 @@
<div class="d-flex-between mb-5">
<ul class="nav custom-tabs">
<li>
<a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}">Download 3k px Image</a>
<a href="{{ config('app.static_asset_url') }}/artworks/{{ $artwork->filename }}">Download 3k px Image</a>
</li>
<li>
<a href="http://{{ config('app.static_asset_url') }}/thumbnail/{{ $artwork->filename }}"">Download 512 px Image</a>
<a href="{{ config('app.static_asset_url') }}/thumbnails/{{ $artwork->filename }}"">Download 512 px Image</a>
</li>
</ul>
</div>

View File

@ -1,8 +1,7 @@
<div class="explore-style-one {{ $thisEpisode->artwork_id == $thisArtwork->id ? 'selected' : '' }}">
<div class="thumb">
<a href="/artworks/{{ $thisArtwork->id }}">
<img src="{{ 'http://'
. config('app.static_asset_url')
<img src="{{ config('app.static_asset_url')
. '/thumbnails/'
. $thisArtwork->filename ?? '#'}}"
alt="{{ $thisArtwork->title }} by {{ $thisArtwork->artist->name }}">
@ -12,12 +11,12 @@
<div class="content">
<div class="header d-flex-between pt-4 pb-1">
<h3 class="title">
<a href="/episode/{{ $thisEpisode->slug }}">"{{ $thisArtwork->title }}"</a>
<a href="/podcast/{{ $thisPodcast->slug }}/episode/{{ $thisEpisode->slug }}">"{{ $thisArtwork->title }}"</a>
</h3>
<div class="more-dropdown "><i class="ri-more-fill" data-bs-toggle="dropdown"></i>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="/podcast/{{ $thisPodcast->slug }}">View Podcast</a></li>
<li><a class="dropdown-item" href="/episode/{{ $thisEpisode->slug }}">View Episode</a></li>
<li><a class="dropdown-item" href="/podcasts/{{ $thisPodcast->slug }}">View Podcast</a></li>
<li><a class="dropdown-item" href="/podcast/{{ $thisPodcast->slug }}/episode/{{ $thisEpisode->slug }}">View Episode</a></li>
<li>
<hr class="dropdown-divider">
</li>
@ -46,9 +45,9 @@ class="avatar" data-bs-toggle="tooltip"
Artwork Submitted For
@endif
<br>
<strong><a href="/podcast/{{ $thisPodcast->slug }}">{{ $thisPodcast->name }}</a></strong>
<strong><a href="/podcasts/{{ $thisPodcast->slug }}">{{ $thisPodcast->name }}</a></strong>
<br>
<a href="/episode/{{ $thisEpisode->slug }}">Episode {{ number_format($thisEpisode->episode_number + 0) }}<br><em>
<a href="/podcast/{{ $thisPodcast->slug }}/episode/{{ $thisEpisode->slug }}">Episode {{ number_format($thisEpisode->episode_number + 0) }}<br><em>
{{ $thisEpisode->episode_date->format('D, M j') }}<sup>{{ $thisEpisode->episode_date->format('S') }}</sup>{{ $thisEpisode->episode_date->format(', Y') }}</em></a>
</span>
</div>

View File

@ -26,8 +26,8 @@
<div class="row">
<div class="col-xxl-6 mb-6">
<div class="explore-style-one">
<div class="thumb"><a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}"
><img id="largeImage"src="http://{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}"
<div class="thumb"><a href="{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}"
><img id="largeImage"src="{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}"
alt="{{ $episode->artwork->title }} by {{ $episode->artwork->artist->name }} for {{ $episode->artwork->podcast->title }}"></a>
</div>
</div>
@ -45,10 +45,10 @@
<div class="d-flex-between mb-5">
<ul class="nav custom-tabs">
<li>
<a href="http://{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}">Download 3k px Image</a>
<a href="{{ config('app.static_asset_url') }}/artworks/{{ $episode->artwork->filename }}">Download 3k px Image</a>
</li>
<li>
<a href="http://{{ config('app.static_asset_url') }}/thumbnail/{{ $episode->artwork->filename }}"">Download 512 px Image</a>
<a href="{{ config('app.static_asset_url') }}/thumbnails/{{ $episode->artwork->filename }}"">Download 512 px Image</a>
</li>
</ul>
</div>

View File

@ -23,19 +23,19 @@
@yield('page-content')
@include('partials.footer.section')
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.nice-select.min.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/modernizer.min.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/slick.min.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/bootstrap.min.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/waypoint.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/js.cookie.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/count-down.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/counter-up.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/isotop.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/imageloaded.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/aos.js"></script>
<script src="//{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.custom-file-input.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.nice-select.min.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/modernizer.min.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/slick.min.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/bootstrap.min.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/waypoint.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/js.cookie.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/count-down.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/counter-up.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/isotop.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/imageloaded.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/aos.js"></script>
<script src="{{ config('app.static_asset_url') }}/v3/dist/vendor/js/jquery.custom-file-input.js"></script>
@livewireScriptConfig
@vite(['resources/js/app.js'])
</body>

View File

@ -1,20 +1,20 @@
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-60x60.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-152x152.png" />
<link rel="icon" type="image/png" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-196x196.png" sizes="196x196" />
<link rel="icon" type="image/png" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/png" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-16x16.png" sizes="16x16" />
<link rel="icon" type="image/png" href="//{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-128.png" sizes="128x128" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-60x60.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ config('app.static_asset_url') }}/v3/dist/ico/apple-touch-icon-152x152.png" />
<link rel="icon" type="image/png" href="{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-196x196.png" sizes="196x196" />
<link rel="icon" type="image/png" href="{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/png" href="{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-16x16.png" sizes="16x16" />
<link rel="icon" type="image/png" href="{{ config('app.static_asset_url') }}/v3/dist/ico/favicon-128.png" sizes="128x128" />
<meta name="application-name" content="{{ config('app.name') }}"/>
<meta name="msapplication-TileColor" content="#101010" />
<meta name="msapplication-TileImage" content="//{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="//{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="//{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="//{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="//{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-310x310.png" />
<meta name="msapplication-TileImage" content="{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="{{ config('app.static_asset_url') }}/v3/dist/ico/mstile-310x310.png" />

View File

@ -34,8 +34,7 @@
<div class="explore-style-one flex-stretch">
<div class="thumb">
<a href="/podcast/{{ $episode->podcast->slug }}/episode/{{ $episode->slug }}">
<img src="{{ 'http://'
. config('app.static_asset_url')
<img src="{{ config('app.static_asset_url')
. '/thumbnails/'
. $episode->artwork->filename ?? '#'}}"
alt="{{ $episode->title }}, {{ $episode->podcast->name }} Episode {{ number_format($episode->episode_number + 0) }}">

View File

@ -28,27 +28,7 @@
<div class="container">
<div class="row">
<div class="col-xxl-3 col-xl-4 col-lg-4 mb-6">
<div class="single-author profile">
<div class="thumb">
<img src="{{ Vite::asset($artist->header ?? 'resources/img/artist-dark-banner-default.png') }}" alt="{{ $artist->name }}'s Cover Photo" />
</div>
<div class="content">
<img class="author-thumb" src="{{ Vite::asset($artist->avatar ?? 'resources/img/default_avatars/default_avatar_male.svg') }}"
alt="{{ $artist->name }}" />
<h4 class="title">{{ $artist->name }}</h4>
<p class="title">{{ $artist->location ?? 'No Agenda Nation' }}</p>
<p class="title">Artist For {{ $artist->artworks->sortBy('created_at')->first()->created_at->diffForHumans(now(), Carbon\CarbonInterface::DIFF_ABSOLUTE) }}</p>
@if ($artist->bio)
<h4>Bio:</h4>
<p>{{ nl2br($artist->bio) }}</p>
@endif
<div class="social size-small justify-content-center mb-4">
@if ($artist->website)
<a href="{{ $artist->website }}" title="website"><i class="ri-pages-line"></i></a>
@endif
</div>
</div>
</div>
@include('profile.partials.single-artist-card')
</div>
{{-- end bio sidebar --}}
<div class="col-xxl-9 col-xl-8 col-lg-8">

View File

@ -7,7 +7,7 @@
alt="{{ $artist->name }}" /></a>
<h4 class="title"><a href="/artists/{{ $artist->slug }}">{{ $artist->name }}</a></h4>
<p class="title">{{ $artist->location ?? 'No Agenda Nation' }}</p>
<p class="title">Artist for {{ $artist->created_at->diffForHumans() }}</p>
<p class="title">Artist For {{ $artist->artworks->sortBy('created_at')->first()->created_at->diffForHumans(now(), Carbon\CarbonInterface::DIFF_ABSOLUTE) }}</p>
@if ($artist->bio)
<h4>Bio:</h4>
<p>{{ nl2br($artist->bio) }}</p>