diff --git a/docker-compose.yml b/docker-compose.yml index c2d4aee3c..acebc5cb1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,6 @@ services: ports: - 9091:3000 environment: - - ALLOW_SIGNUP=true - API_URL=http://mealie-api:9000 # ===================================== @@ -45,6 +44,8 @@ services: ports: - 9092:9000 environment: + ALLOW_SIGNUP: "false" + DB_ENGINE: sqlite # Optional: 'sqlite', 'postgres' # ===================================== # Postgres Config diff --git a/docs/docs/documentation/getting-started/installation/backend-config.md b/docs/docs/documentation/getting-started/installation/backend-config.md index 1a671e9ca..ff7e74e83 100644 --- a/docs/docs/documentation/getting-started/installation/backend-config.md +++ b/docs/docs/documentation/getting-started/installation/backend-config.md @@ -15,6 +15,7 @@ | API_PORT | 9000 | The port exposed by backend API. **Do not change this if you're running in Docker** | | API_DOCS | True | Turns on/off access to the API documentation locally. | | TZ | UTC | Must be set to get correct date/time on the server | +| ALLOW_SIGNUP | true | Allow user sign-up without token (should match frontend env) | @@ -60,4 +61,4 @@ Changing the webworker settings may cause unforeseen memory leak issues with Mea | LDAP_AUTH_ENABLED | False | Authenticate via an external LDAP server in addidion to built-in Mealie auth | | LDAP_SERVER_URL | None | LDAP server URL (e.g. ldap://ldap.example.com) | | LDAP_BIND_TEMPLATE | None | Templated DN for users, `{}` will be replaced with the username (e.g. `cn={},dc=example,dc=com`) | -| LDAP_ADMIN_FILTER | None | Optional LDAP filter, which tells Mealie the LDAP user is an admin (e.g. `(memberOf=cn=admins,dc=example,dc=com)`) | \ No newline at end of file +| LDAP_ADMIN_FILTER | None | Optional LDAP filter, which tells Mealie the LDAP user is an admin (e.g. `(memberOf=cn=admins,dc=example,dc=com)`) | diff --git a/docs/docs/documentation/getting-started/installation/frontend-config.md b/docs/docs/documentation/getting-started/installation/frontend-config.md index f735efddc..80ada56b2 100644 --- a/docs/docs/documentation/getting-started/installation/frontend-config.md +++ b/docs/docs/documentation/getting-started/installation/frontend-config.md @@ -4,12 +4,11 @@ ### General -| Variables | Default | Description | -| ------------ | :--------------------: | ----------------------------------- | -| ALLOW_SIGNUP | true | Allows anyone to sign-up for Mealie | -| API_URL | http://mealie-api:9000 | URL to proxy API requests | +| Variables | Default | Description | +| --------- | :--------------------: | ------------------------- | +| API_URL | http://mealie-api:9000 | URL to proxy API requests | -### Themeing +### Themeing Setting the following environmental variables will change the theme of the frontend. Note that the themes are the same for all users. This is a break-change when migration from v0.x.x -> 1.x.x. | Variables | Default | Description | diff --git a/docs/docs/documentation/getting-started/installation/postgres.md b/docs/docs/documentation/getting-started/installation/postgres.md index b3afe9c63..d7ec31a7d 100644 --- a/docs/docs/documentation/getting-started/installation/postgres.md +++ b/docs/docs/documentation/getting-started/installation/postgres.md @@ -18,13 +18,12 @@ services: - mealie-api environment: # Set Frontend ENV Variables Here - - ALLOW_SIGNUP=true - API_URL=http://mealie-api:9000 # (1) restart: always ports: - "9925:3000" # (2) volumes: - - mealie-data:/app/data/ # (3) + - mealie-data:/app/data/ # (3) mealie-api: image: hkotel/mealie:api-nightly container_name: mealie-api @@ -34,6 +33,7 @@ services: - mealie-data:/app/data/ environment: # Set Backend ENV Variables Here + - ALLOW_SIGNUP=true - PUID=1000 - PGID=1000 - TZ=America/Anchorage @@ -64,7 +64,7 @@ volumes: -1. Whoa whoa whoa, what is this nonsense? The API_URL is the URL the frontend container uses to proxy api requests to the backend server. In this example, the name `mealie-api` resolves to the `mealie-api` container which runs the API server on port 9000. This allows you to access the API without exposing an additional port on the host. +1. Whoa whoa whoa, what is this nonsense? The API_URL is the URL the frontend container uses to proxy api requests to the backend server. In this example, the name `mealie-api` resolves to the `mealie-api` container which runs the API server on port 9000. This allows you to access the API without exposing an additional port on the host.

**Note** that both containers must be on the same docker-network for this to work. 2. To access the mealie interface you only need to expose port 3000 on the mealie-frontend container. Here we expose port 9925 on the host, feel free to change this to any port you like. -3. Mounting the data directory to the frontend is now required to access the images/assets directory. This can be mounted read-only. Internally the frontend containers runs a Caddy proxy server that serves the assets requested to reduce load on the backend API. \ No newline at end of file +3. Mounting the data directory to the frontend is now required to access the images/assets directory. This can be mounted read-only. Internally the frontend containers runs a Caddy proxy server that serves the assets requested to reduce load on the backend API. diff --git a/docs/docs/documentation/getting-started/installation/sqlite.md b/docs/docs/documentation/getting-started/installation/sqlite.md index 5b9e3c9f3..5aa68c8f8 100644 --- a/docs/docs/documentation/getting-started/installation/sqlite.md +++ b/docs/docs/documentation/getting-started/installation/sqlite.md @@ -1,6 +1,6 @@ # Installing with SQLite -SQLite is a popular, open source, self-contained, zero-configuration database that is the ideal choice for Mealie when you have 1-20 Users. Below is a ready to use docker-compose.yaml file for deploying Mealie on your server. +SQLite is a popular, open source, self-contained, zero-configuration database that is the ideal choice for Mealie when you have 1-20 Users. Below is a ready to use docker-compose.yaml file for deploying Mealie on your server. **For Environmental Variable Configuration See:** @@ -16,7 +16,6 @@ services: container_name: mealie-frontend environment: # Set Frontend ENV Variables Here - - ALLOW_SIGNUP=true - API_URL=http://mealie-api:9000 # (1) restart: always ports: @@ -30,6 +29,7 @@ services: - mealie-data:/app/data/ environment: # Set Backend ENV Variables Here + - ALLOW_SIGNUP=true - PUID=1000 - PGID=1000 - TZ=America/Anchorage @@ -45,7 +45,7 @@ volumes: -1. Whoa whoa whoa, what is this nonsense? The API_URL is the URL the frontend container uses to proxy api requests to the backend server. In this example, the name `mealie-api` resolves to the `mealie-api` container which runs the API server on port 9000. This allows you to access the API without exposing an additional port on the host. +1. Whoa whoa whoa, what is this nonsense? The API_URL is the URL the frontend container uses to proxy api requests to the backend server. In this example, the name `mealie-api` resolves to the `mealie-api` container which runs the API server on port 9000. This allows you to access the API without exposing an additional port on the host.

**Note** that both containers must be on the same docker-network for this to work. 2. To access the mealie interface you only need to expose port 3000 on the mealie-frontend container. Here we expose port 9925 on the host, feel free to change this to any port you like. -3. Mounting the data directory to the frontend is now required to access the images/assets directory. This can be mounted read-only. Internally the frontend containers runs a Caddy proxy server that serves the assets requested to reduce load on the backend API. \ No newline at end of file +3. Mounting the data directory to the frontend is now required to access the images/assets directory. This can be mounted read-only. Internally the frontend containers runs a Caddy proxy server that serves the assets requested to reduce load on the backend API. diff --git a/frontend/composables/api/index.ts b/frontend/composables/api/index.ts index ed54e5fc9..3f9056368 100644 --- a/frontend/composables/api/index.ts +++ b/frontend/composables/api/index.ts @@ -1,2 +1,3 @@ +export { useAppInfo } from "./use-app-info"; export { useStaticRoutes } from "./static-routes"; export { useAdminApi, useUserApi } from "./api-client"; diff --git a/frontend/composables/api/use-app-info.ts b/frontend/composables/api/use-app-info.ts new file mode 100644 index 000000000..e3434b940 --- /dev/null +++ b/frontend/composables/api/use-app-info.ts @@ -0,0 +1,11 @@ +import { Ref, useAsync } from "@nuxtjs/composition-api"; +import { useAsyncKey } from "../use-utils"; +import { AppInfo } from "~/types/api-types/admin"; + +export function useAppInfo(): Ref { + return useAsync(async () => { + // We use fetch here to reduce need for additional dependencies + const data = await fetch("/api/app/about").then((res) => res.json()); + return data as AppInfo; + }, useAsyncKey()); +} diff --git a/frontend/layouts/blank.vue b/frontend/layouts/blank.vue index 01238c605..5f0d692a0 100644 --- a/frontend/layouts/blank.vue +++ b/frontend/layouts/blank.vue @@ -2,6 +2,12 @@ + +
+ This is a Demo for version: {{ version }} | Username: changeme@email.com | Password: demo +
+
+ @@ -11,9 +17,23 @@ diff --git a/frontend/nuxt.config.js b/frontend/nuxt.config.js index acf95defb..91ec9c91c 100644 --- a/frontend/nuxt.config.js +++ b/frontend/nuxt.config.js @@ -26,7 +26,6 @@ export default { env: { GLOBAL_MIDDLEWARE: process.env.GLOBAL_MIDDLEWARE || null, - ALLOW_SIGNUP: process.env.ALLOW_SIGNUP || true, }, router: { @@ -220,10 +219,6 @@ export default { publicRuntimeConfig: { GLOBAL_MIDDLEWARE: process.env.GLOBAL_MIDDLEWARE || null, - ALLOW_SIGNUP: process.env.ALLOW_SIGNUP || true, - envProps: { - allowSignup: process.env.ALLOW_SIGNUP || true, - }, SUB_PATH: process.env.SUB_PATH || "", axios: { browserBaseURL: process.env.SUB_PATH || "", diff --git a/frontend/pages/login.vue b/frontend/pages/login.vue index a173dd381..f93c09f51 100644 --- a/frontend/pages/login.vue +++ b/frontend/pages/login.vue @@ -4,7 +4,7 @@ fluid class="d-flex justify-center align-center" :class="{ - 'bg-off-white': !$vuetify.theme.dark, + 'bg-off-white': !$vuetify.theme.dark && !isDark, }" > @@ -108,6 +108,8 @@