Giter VIP home page Giter VIP logo

Comments (5)

Aetherinox avatar Aetherinox commented on September 8, 2024 2

Sorry about that. I've been up to my eyeballs with getting the dependencies updated for the program.

Glad you got it worked out.

from keeweb.

Aetherinox avatar Aetherinox commented on September 8, 2024

The container does not store anything in a database file. When you add entries, or do anything else; the data is stored in memory.

You actually need to go to the settings of KeeWeb, and physically save it. This will convert the internal app / browser memory over to a kdbx file you can take with you.

C33xUvh

By selecting File, it will save just the kdbx file. That file is what you need to take and secure somewhere. The next time you open KeeWeb through your container, you'll browse and select your saved kdbx file to view your entries or add new ones.


To understand the storage used within KeeWeb:

You can see an example of this by opening KeeWeb in a browser, and then launching your Developer Tools (CTRL + SHIFT + I). Select the Memory tab.

p7jz79X

At the bottom, you can take a Heap Snapshot which will export the memory stored:

tbSIW5g

If you were to open that snapshot up and view it; you'd find your strings scattered throughout

"a[target=_blank]",
"My Test String", <-------------
".details__attachment-input-file",
"system / Foreign",

from keeweb.

vhp1360 avatar vhp1360 commented on September 8, 2024

Thank you for your explanation.
But maybe my question was not clear
I need to initialize the KeeWeb application with a kdbx file placed on the server when I run it as a docker daemon.
Now I have to open a file from my local Emma
I use this program as a service program, so all users can use the same kdbx file.
how to run docker with initialized kdbx file?

many thanks

from keeweb.

vhp1360 avatar vhp1360 commented on September 8, 2024

also, I set up Webdav but when I tried to use it in keeweb I got Error: network error when I could connect to Webdav from the Browser.

from keeweb.

vhp1360 avatar vhp1360 commented on September 8, 2024

finnaly.
I solved. I put my configs for other ones. thank you for your apps
docker-compose.yml:

version: '3.3'
services:
  keeweb:
    image: antelle/keeweb
    container_name: keeweb
    ports:
      - "808:80" 
      - "433:443"
    volumes:
      - "./nginx/:/etc/nginx/external/"
    environment:
      - TZ=Asia/Tehran
    restart: unless-stopped
    networks:
      - webdav
  webdav:
    image: bytemark/webdav:2.4
    restart: always
    ports:
      - "80:80"
    environment:
      AUTH_TYPE: Basic
      USERNAME: webdav
      PASSWORD: '1234567890'
    volumes:
      - ./keepassFile:/var/lib/dav/data
    networks:
      - webdav
    restart: unless-stopped
  nginx:
    image: nginx:latest
    ports:  
      - "443:443"
    volumes:
      - "./nginx/ssl:/etc/nginx/ssl"
      - "./nginx/nginx.conf:/etc/nginx/nginx.conf"
    networks:
      - webdav
    restart: unless-stopped
networks:
    webdav:

nging.con (I'm not nginx user and someone may make it better):

events { 
    worker_connections 1024;
} 
http {
    upstream webdav {
        server webdav:80; # Assuming your WebDAV service is named nginx_webdav and listens on port 80
        keepalive 32;
    } 
    
server {
    listen 443 ssl;
    server_name 0.0.0.0; # Replace with your domain or IP address
    
    ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
  
    location / {
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Credentials' 'true' always;
        add_header 'Access-Control-Allow-Methods' 'GET, HEAD, POST, PUT, OPTIONS, MOVE, DELETE, COPY, LOCK, UNLOCK' always;
        add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Accept-Charset,X-Accept,origin,accept,if-match,destination,overwrite' always;
        add_header 'Access-Control-Expose-Headers' 'ETag' always;
        add_header 'Access-Control-Max-Age' 1728000 always;
        if ($request_method = 'OPTIONS') {
          add_header 'Content-Type' 'text/plain charset=UTF-8';
          add_header 'Content-Length' 0;
          add_header 'Access-Control-Allow-Origin' '*';
          add_header 'Access-Control-Allow-Credentials' 'true';
          add_header 'Access-Control-Allow-Methods' 'GET, HEAD, POST, PUT, OPTIONS, MOVE, DELETE, COPY, LOCK, UNLOCK';
          add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Accept-Charset,X-Accept,origin,accept,if-match,destination,overwrite';
          add_header 'Access-Control-Expose-Headers' 'ETag';
          add_header 'Access-Control-Max-Age' 1728000;
          return 204;
        }
        if ($request_method = 'POST') {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
        }
        if ($request_method = 'GET') {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
        }

        proxy_pass http://webdav;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header Authorization $http_authorization;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
        }
}

from keeweb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.