fix: initial changes to allow for intial deployment #4
2
.gitignore
vendored
2
.gitignore
vendored
@ -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/*
|
@ -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
|
||||
- ./site:/var/www/html
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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" />
|
||||
|
@ -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) }}">
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user