Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
33f2c5cf07 | |||
588e09ac00 | |||
e840ac4254 | |||
c6be8cfa8c | |||
53ebf925aa | |||
b92bd7656c |
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,4 +2,5 @@ node_modules/
|
||||
package-lock.json
|
||||
build/
|
||||
pnpm-lock.yaml
|
||||
.vscode
|
||||
.vscode
|
||||
.vercel
|
||||
|
@ -4,8 +4,8 @@ WORKDIR /app
|
||||
COPY ./package.json ./
|
||||
RUN npm install
|
||||
COPY ./ ./
|
||||
ENV SNOWPACK_PUBLIC_API_URL=https://publitebackend.dmitriy.icu
|
||||
ENV SNOWPACK_PUBLIC_BASE_URL=https://publite.dmitriy.icu
|
||||
ARG PUBLIC_API_URL=https://publitebackend.dm1sh.ru
|
||||
ARG PUBLIC_BASE_URL=https://publite.dm1sh.ru
|
||||
RUN NODE_ENV=production npm run build
|
||||
|
||||
FROM node:alpine
|
||||
|
18
README.md
18
README.md
@ -8,6 +8,20 @@
|
||||
|
||||
Frontend for Publite service — E-Books reader
|
||||
|
||||
<table style="margin: auto">
|
||||
<tr>
|
||||
<td>
|
||||
<img style="max-height: 50vh" src="public/images/screenshot3.webp"/>
|
||||
</td>
|
||||
<td>
|
||||
<img style="max-height: 50vh" src="public/images/screenshot2.webp"/>
|
||||
</td>
|
||||
<td>
|
||||
<img style="max-height: 50vh" src="public/images/screenshot1.webp"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Deploy
|
||||
|
||||
Dev environment setup:
|
||||
@ -27,10 +41,10 @@ Simple docker deployment
|
||||
|
||||
```bash
|
||||
# build docker image
|
||||
docker build . -t publite_frontend
|
||||
docker build . --build-arg PUBLIC_API_URL=<https://...> --build-arg PUBLIC_BASE_URL=<https://...> -t publite_frontend
|
||||
|
||||
# run it with docker
|
||||
docker run -p <port>:80 publite_frontend
|
||||
docker run -p <port>:8080 publite_frontend
|
||||
```
|
||||
|
||||
Dokku deployment with image from Docker Hub
|
||||
|
@ -5,6 +5,11 @@ import { API_URL } from "~/constants";
|
||||
export const validState = (file: File | undefined): file is File => {
|
||||
if (!file) throw new Error("Book file is required. Please, attach one");
|
||||
|
||||
if (file.name.endsWith(".zip"))
|
||||
throw new Error(
|
||||
"Please, unzip file before sending to reader if it is fb2.zip"
|
||||
)
|
||||
|
||||
if (!file.name.match(/\.(fb2|epub)/))
|
||||
throw new Error(
|
||||
"Wrong file type. Only FB2 and Epub files are supported. \
|
||||
|
@ -19,8 +19,8 @@ module.exports = {
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
"process.env.NODE_ENV": JSON.stringify("development"),
|
||||
"process.env.PUBLIC_BASE_URL": JSON.stringify("http://localhost:8080"),
|
||||
"process.env.PUBLIC_API_URL": JSON.stringify("http://localhost:8081"),
|
||||
"process.env.PUBLIC_BASE_URL": JSON.stringify("http://localhost:8080"),
|
||||
}),
|
||||
...webpackConfig.plugins,
|
||||
],
|
||||
|
@ -12,12 +12,8 @@ module.exports = {
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
"process.env.NODE_ENV": JSON.stringify("production"),
|
||||
"process.env.PUBLIC_BASE_URL": JSON.stringify(
|
||||
"https://publite.dmitriy.icu"
|
||||
),
|
||||
"process.env.PUBLIC_API_URL": JSON.stringify(
|
||||
"https://publitebackend.dmitriy.icu"
|
||||
),
|
||||
"process.env.PUBLIC_API_URL": JSON.stringify(process.env.PUBLIC_API_URL),
|
||||
"process.env.PUBLIC_BASE_URL": JSON.stringify(process.env.PUBLIC_BASE_URL),
|
||||
}),
|
||||
...webpackConfig.plugins,
|
||||
],
|
||||
|
Loading…
x
Reference in New Issue
Block a user