Initial commit
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
# ---> VisualStudioCode
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org/>
|
||||
@@ -0,0 +1,27 @@
|
||||
# Pocket ID
|
||||
|
||||
Self-hosted OIDC identity provider using passkeys for authentication.
|
||||
|
||||
## Deployment layout
|
||||
|
||||
- **Compose:** `/srv/docker/pocketid/docker-compose.yml`
|
||||
- **Static configuration/source:** none
|
||||
- **Non-secret environment:** application URL, trusted-proxy policy, UID, GID, and the encryption-key file location
|
||||
are declared inline in Compose; there is no project-local `.env`
|
||||
- **Secrets:** `/srv/docker/secrets/pocketid/encryption_key`
|
||||
- **NVMe application state:** `/srv/appdata/pocketid/data`
|
||||
- **Bulk HDD data:** none
|
||||
- **Other mounts:** none
|
||||
|
||||
Secrets are never committed to this repository. The central encryption key is
|
||||
supplied to the Pocket ID service as the `pocketid_encryption_key` Docker secret
|
||||
and referenced through `ENCRYPTION_KEY_FILE`.
|
||||
|
||||
## Dependencies and recovery
|
||||
|
||||
- **Networks/dependencies:** Pocket ID uses the external `npm_proxy` network at `192.168.100.10`; no dependent
|
||||
services are declared
|
||||
- **Back up:** `/srv/appdata/pocketid/data` and the separately protected `/srv/docker/secrets/pocketid/
|
||||
encryption_key`
|
||||
- **Re-creatable:** the Pocket ID container itself; no persistent cache is declared
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
services:
|
||||
pocket-id:
|
||||
image: ghcr.io/pocket-id/pocket-id:v2
|
||||
container_name: pocketid
|
||||
restart: unless-stopped
|
||||
#ports:
|
||||
# - 1411:1411
|
||||
environment:
|
||||
ENCRYPTION_KEY_FILE: /run/secrets/pocketid_encryption_key
|
||||
APP_URL: https://auth.yoonect.com
|
||||
TRUST_PROXY: true
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
|
||||
secrets:
|
||||
- pocketid_encryption_key
|
||||
volumes:
|
||||
- "/srv/appdata/pocketid/data:/app/data"
|
||||
healthcheck:
|
||||
test: [ "CMD", "/app/pocket-id", "healthcheck" ]
|
||||
interval: 1m30s
|
||||
timeout: 5s
|
||||
retries: 2
|
||||
start_period: 10s
|
||||
networks:
|
||||
npm_proxy:
|
||||
ipv4_address: 192.168.100.10
|
||||
secrets:
|
||||
pocketid_encryption_key:
|
||||
file: /srv/docker/secrets/pocketid/encryption_key
|
||||
|
||||
networks:
|
||||
npm_proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user